Control device, logging method and program
The FA control device addresses the lack of secure logging solutions in FA manufacturing sites by incorporating a first logging unit for secure communication logs and a second logging unit for logging operation control information, enhancing security and analysis capabilities.
Patent Information
- Application Number
- JP2021087099
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-24
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2041-05-24
AI Technical Summary
Existing networked controllers in factory automation (FA) manufacturing sites lack a comprehensive solution for securely managing communication logs between control devices and external equipment, as well as logging information related to the control of the logging operation.
A control device for FA that includes a first connector for connecting to a network with the controlled object, a second connector for connecting to an external device's network, a control calculation unit, a communication unit for secure data transmission, a first logging unit for logging secure communication information, and a second logging unit for logging information related to the control of the logging operation.
This solution enables secure logging of communication information between control devices and external equipment, while also logging control-related information, thereby supporting accurate analysis and ensuring network security in FA manufacturing sites.
Smart Images

Figure 0007661786000001 
Figure 0007661786000002 
Figure 0007661786000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a control device, a logging method, and a program for controlling an object, and in particular to a control device, a logging method, and a program for managing a communication log. [Background technology]
[0002] In a manufacturing site of FA (Factory Automation), a control device such as a network-connected PLC (Programmable Logic Controller) has a function of controlling targets such as production equipment and devices, and a communication function of exchanging data related to control with external devices including other control devices via the network. The control device controls the targets using the data exchanged with the external devices.
[0003] A function in which a network-connected FA controller monitors data communicated with devices via the network is disclosed in, for example, Patent Document 1 (JP Patent Publication 2011-35664 A). In Patent Document 1, the FA controller determines whether there is an abnormality in the network, monitors data communicated with devices connected to the network, and when an abnormality is detected, stores the data monitored before that in a ring buffer. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2011-35664 A Summary of the Invention [Problem to be solved by the invention]
[0005] In order to safely use equipment and machines used at manufacturing sites, it is desirable to manage the security of a network that exchanges data with external devices. In such security management, information related to communication between a control device connected to the network and an external device is logged, and the logged information is analyzed. In manufacturing sites, in order to more accurately support the analysis, there is a demand for logging information related to communication and for acquiring information related to the control of the logging operation in order to trace the logging operation. In this regard, Patent Document 1 only monitors data communicated between devices connected to the network and stores it in a ring buffer, and does not propose a configuration for acquiring information related to the control of the monitoring operation.
[0006] The present disclosure aims to provide an environment in which it is possible to log information related to communication between a control device connected to a network and an external device, as well as to log information related to control of the logging operation. [Means for solving the problem]
[0007] A control device for FA (factory automation) according to one example of the present disclosure, comprising: a first connector for connecting a first network to which a control target belongs; a second connector for connecting a second network to which an external device belongs; a control calculation unit for executing control calculation processing using data related to the control of the target; a communication unit for exchanging data with the external device by secure communication via the second network; a first logging unit for logging information related to the secure communication implemented by the communication unit; and a second logging unit for logging information related to the control of the logging operation of the first logging unit.
[0008] According to this disclosure, in addition to logging information related to secure communication between a control device connected to a network and an external device, it is also possible to log information related to control of the logging operation.
[0009] In the above disclosure, the control device further includes a storage medium interface for removably mounting an external storage medium, and the first logging unit stores information related to the secure communication in the external storage medium mounted in the storage medium interface.
[0010] According to this disclosure, information related to secure communications can be logged on an external storage medium attached to a storage medium interface, and the control device can provide the information on the external storage medium for analysis without interrupting control calculations.
[0011] In the above disclosure, the second logging unit stores information related to control of the logging operation in a storage medium different from the external storage medium.
[0012] According to this disclosure, since information related to control can be logged in a storage medium different from the external storage medium, information related to control can be logged regardless of the state of the external storage medium.
[0013] In the above disclosure, the first logging unit logs information related to the secure communication, excluding data related to control exchanged in the secure communication.
[0014] According to this disclosure, it is possible to remove control-related data exchanged in secure communication, that is, encrypted data that is not suitable for the information to be analyzed, from information logged as information related to secure communication.
[0015] In the above disclosure, the information related to the secure communication includes information of an error that occurred in the secure communication.
[0016] According to this disclosure, the information related to the secure communication that is logged can include errors that occur in the secure communication.
[0017] In the above disclosure, the information relating to the secure communication includes conditions for establishing the secure communication over the second network.
[0018] According to this disclosure, the information related to the secure communication that is logged can include the conditions used to establish the secure communication.
[0019] In this disclosure, information related to secure communication includes information related to establishing a connection for secure communication via a second network.
[0020] According to this disclosure, the information related to the secure communication can include information related to the establishment of a connection in the secure communication.
[0021] In the above disclosure, information related to secure communication includes information related to session establishment after connection establishment has been performed.
[0022] According to this disclosure, the information related to the secure communication can include information related to the establishment of a session that is performed after the connection is established.
[0023] In the above disclosure, the information related to control of the logging operation includes at least one of starting the logging operation, stopping the logging operation, failing the logging operation, and settings related to the logging operation.
[0024] According to this disclosure, as information related to control of a logging operation, at least one of the start of the logging operation, the stop of the logging operation, the failure of the logging operation, and settings related to the logging operation can be logged.
[0025] In the above disclosure, the settings related to the logging operation include settings for enabling or disabling the logging operation.
[0026] According to the above disclosure, information related to control of a logging operation can include a setting for enabling or disabling the logging operation.
[0027] In the above disclosure, information related to secure communications logged by the first logging unit and information related to control of logging operations logged by the second logging unit are time-stamped on a common time axis when logged.
[0028] According to the above disclosure, even if information related to secure communication and information related to control of logging operations are logged by different logging units, the two can be linked together by time stamps on a common time axis.
[0029] According to an example of the present disclosure, a logging method executed by a control device of a factory automation (FA) is provided. The control device includes a first connector that connects a first network to which a control target belongs, a second connector that connects a second network to which an external device belongs, a control calculation unit that executes a control calculation process using data related to the control of the target, and a communication unit that exchanges data with the external device by secure communication via the second network. The logging method includes a step of logging information related to the secure communication implemented by the communication unit, and a step of logging information related to control of a logging operation of the information related to the secure communication.
[0030] By implementing the method according to this disclosure, it is possible to perform logging of information related to secure communication between a control device connected to a network and an external device, as well as logging of information related to control of the logging operation.
[0031] In another example of the present disclosure, a program is provided for causing a computer to execute the above logging method. Effect of the Invention
[0032] According to an example of the present disclosure, in addition to logging of information related to communication between a control device and an external device connected to a network, logging of information related to control of the logging operation can also be performed. [Brief description of the drawings]
[0033] [Figure 1] FIG. 2 is a diagram illustrating a schematic configuration of secure communication and logging in the control device according to the present embodiment. [Diagram 2] FIG. 1 is a schematic diagram showing a system 1 according to an embodiment of the present invention. [Diagram 3] 1 is a schematic diagram showing a hardware configuration of a processing unit 10 of a PLC according to the present embodiment. [Figure 4] 2 is a schematic diagram showing an example of a software configuration implemented in a processing unit 10 of the PLC according to the present embodiment. FIG. [Diagram 5] FIG. 2 is a diagram showing a model of Pub / Sub communication according to the present embodiment. [Figure 6] FIG. 2 is a diagram showing a module configuration of a PLC according to the present embodiment in relation to peripheral devices. [Figure 7] FIG. 2 is a diagram illustrating a communication sequence according to an embodiment of the present invention. [Figure 8] FIG. 11 is a diagram showing a list of secure communication logs 151 according to the present embodiment. [Figure 9] FIG. 11 is a diagram showing a list of event logs 152 according to the present embodiment. [Figure 10] FIG. 13 is a diagram showing an example of settings related to a secure communication log 151 according to the present embodiment. [Figure 11] 1 is a diagram illustrating an example of a recording method for a secure communication log 151 according to the present embodiment. FIG. [Figure 12] FIG. 2 is a diagram illustrating an example of a recording method for an event log 152 according to the present embodiment. [Figure 13] FIG. 2 is a diagram illustrating an example of a recording method for an event log 152 according to the present embodiment. [Figure 14] 11 is a flowchart of a secure communication process according to the present embodiment. [Figure 15] 1A and 1B are diagrams illustrating an example of information obtained by monitoring in secure communication according to the present embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0034] The present embodiment will be described in detail with reference to the drawings. For the same or corresponding parts in the drawings, the same reference numerals are given and their descriptions will not be repeated.
[0035] <A. Application Example> First, with reference to FIG. 1, an example of a scenario to which the present invention is applied will be described. FIG. 1 is a diagram schematically showing the configuration of secure communication and logging in a control device according to the present embodiment. In the present embodiment, "secure communication" refers to secure socket communication using so-called socket communication, which is realized by executing a socket (function or program).
[0036] In the present embodiment, the control device is an industrial controller such as a PLC (Programmable Logic Controller). In the following description, as a typical example of the "control device", a PLC applicable to FA will be described as a specific example, but it is not limited to a PLC, and the technical idea disclosed in this specification is applicable to any control device.
[0037] Referring to FIG. 1, the PLC 100 communicates with one or more field devices as an arbitrary control target (for example, a target such as a manufacturing device or facility of FA) via a field network 411 such as Ethernet / IP (registered trademark). Each of the one or more field devices includes an actuator 7 that gives some physical action to a production line including a production process (hereinafter also collectively referred to as "field"), and an input / output device 6 including a sensor that exchanges information with the field. Further, the field device may include a robot controller that controls an industrial robot.
[0038] The PLC 100 communicates with external devices via the network 400. The external devices include an external server 300 based on the cloud or an on-premises server 310 described later. Further, the external devices may include another PLC 100.
[0039] The PLC 100 has a control calculation unit 60 that executes control calculation processing for controlling an object using control data 70 related to control, a communication module 61 and a secure socket communication module 71 that exchange the control data 70 with an external device by secure communication via a network 400, and a log writer 117 provided in association with the secure socket communication module 71. Each of these units may be configured as a program module realized by the PLC 100 executing a program, or a hardware circuit module, or a combination of a program module and a hardware circuit module.
[0040] More specifically, the control calculation unit 60, the communication module 61, and the secure socket communication module 71 are realized by executing the control program 171, the communication program 172, and the secure socket communication program, respectively. In this embodiment, the secure socket communication program of the secure socket communication module 71 is realized by combining a TCP (Transmission Control Protocol) socket and an OpenSSL (Secure Sockets Layer) program. When the secure socket communication program is executed, the secure socket communication module 71 performs TCP / IP (Internet Protocol) socket communication between the PLC 100 and an external device, and performs encrypted communication using OpenSSL in the socket communication. The secure socket communication module 71 realizes encrypted communication by calling (executing) various functions for communication according to the SSL protocol and the TLS (Transport Layer Security) protocol from a library provided by OpenSSL. Hereinafter, the functions of the library provided by OpenSSL are also referred to as "library functions".
[0041] Secure socket communication module 71 includes log detection unit 179. Log detection unit 179 detects a predetermined type of information during secure communication, and outputs the detected information together with a logging command to first logging unit 118 of log writer 117. First logging unit 118 performs secure communication logging 118a, which is a process of storing information in a storage area of SD card 150 in accordance with the logging command from log detection unit 179. As a result, the predetermined type of information detected during secure communication is logged in the storage area of SD card 150, and secure communication log 151 of SD card 150 constitutes history information related to the secure communication.
[0042] In this embodiment, the predetermined types of information that the secure socket communication module 71 detects during secure communication include TLS session parameters indicating network connection conditions, and communication errors output from executed library functions.
[0043] Furthermore, the log detection unit 179 of the secure socket communication module 71 detects a predetermined type of event related to the control of the logging operation of the first logging unit 118, and outputs information on the detected event together with a logging command to the second logging unit 119 of the log writer 117. In accordance with the logging command from the log detection unit 179, the second logging unit 119 performs event logging 119a, which is a process of storing information in a storage medium other than the SD card 150, for example, in a storage area of the nonvolatile memory 106. As a result, information on the predetermined type of event detected in association with the operation of the logging process of the first logging unit 118 is logged in the storage area of the nonvolatile memory 106 to form the event log 152. The nonvolatile memory 106 in which the event log 152 is stored may also be formed from an external storage medium.
[0044] In this embodiment, a general-purpose protocol such as SSL / TLS is used for secure communication, but the present invention is not limited to this. For example, any protocol for ensuring security implemented in OPC Unified Architecture (OPC UA), which is a communication standard for industrial IoT, may be used.
[0045] As described above, when PLC 100 performs secure communication with an external device, it performs secure communication logging 118a for logging information related to the secure communication to obtain secure communication log 151, and also performs event logging 119a for logging information of events detected in relation to the control of this logging operation to obtain event log 152. Therefore, an environment is provided in PLC 100 where it is possible to log information related to secure communication between PLC 100 and an external device connected to the network, and to log information related to the control of the logging operation.
[0046] By providing the logging environment described above, the soundness of the secure communication can be evaluated when the user analyzes the secure communication log 151 in the SD card 150. For example, by analyzing the secure communication log 151, the user can determine the presence or absence of a problem from an error that occurs in the secure communication, and can also obtain information for dealing with the problem by analyzing the error. When using free software such as Open SSL for secure communication, the operation of library functions is not guaranteed, so acquiring the secure communication log 151 is technically significant.
[0047] Furthermore, the user can use the event log 152, which indicates information related to the control of the logging operation of the secure communication log 151, as information to assist in the analysis of the secure communication log 151. For example, during analysis, the user can determine the reliability of the logging operation itself performed to obtain the secure communication log 151 by tracing the occurrence status of the events indicated by the event log 152.
[0048] Hereinafter, as a more specific application example of the present invention, a more detailed configuration and processing of the PLC 100 according to the present embodiment will be described.
[0049] <B. System Configuration> First, a system including the PLC 100 according to the present embodiment will be described.
[0050] FIG. 2 is a schematic diagram showing the system 1 according to the present embodiment. The system 1 according to the present embodiment includes a plurality of PLCs 100 (PLC1, PLC2, PLC3) network-connected via the network 410. The plurality of PLCs communicate with the server 300 of the external device via the network 400. In FIG. 1, the number of PLCs included in the system 1 is set to three, but it may be a plurality of units and is not limited to three.
[0051] The system 1 in FIG. 2 includes, for example, a plurality of types of processes (for example, a screwing process, a soldering process, and an assembly process, etc.), and a PLC 100 is provided for each of these processes. The work flowing through the production line is manufactured by flowing through the processes in this order. In the process, a plurality of types of operations are performed on the work by the field device. Note that the types and numbers of processes included in the system 1 are not limited to these and may change according to the type of product to be produced or the specifications of the product.
[0052] The system 1 constitutes a distributed control system in which a PLC is provided for each process in this way. The PLCs of each process are connected to the networks 400 and 401 and exchange control data 70 related to control with other PLCs.
[0053] Each PLC includes a processing unit 10 which is the entity that executes programs, a power supply unit 12 that supplies power to the processing unit 10 and others, and an IO (Input / Output) unit 14 that exchanges signals with the field. The IO unit 14 is connected to the processing unit 10 via the system bus 11. Typically, the IO unit 14 acquires input signals from the input / output device 6 which is a field device, and drives the actuator 7 which is a field device according to the execution result of the program in the processing unit 10. The input / output device 6 detects, for example, the control amount of the actuator. The input / output device 6 and the actuator 7 constitute the devices that are the "objects" controlled by the PLC.
[0054] The support device 200 provides an environment for developing the application programs executed by the PLC, and has the function of monitoring the operating state of the destination PLC, the values of various data, etc., or setting various information. The developed programs or various information may be downloaded to the PLC 100 via the CD-ROM (Compact Disk-Read Only Memory) 301 or via the USB (Universal Serial Bus) network 13.
[0055] <C. Hardware Configuration> Next, the hardware configuration of the PLC will be described. Fig. 3 is a schematic diagram showing the hardware configuration of the processing unit 10 of the PLC according to this embodiment. Referring to Fig. 3, the processing unit 10 includes a processor 50, a chipset 102, a main memory 104, a non-volatile memory 106, a system timer 108, an optical reader / writer 90 for reading and writing data from a CD-ROM (Compact Disk-Read Only Memory) 91, a system bus controller 120, a network connector 145, a network controller 149, a USB connector 110, and an R / W (Reader Writer) 101. The chipset 102 and other components are respectively connected via various buses. The R / W 101 constitutes a storage medium interface circuit to which an SD card 150 is detachably attached, and reads and writes data from the attached SD card 150.
[0056] The processor 50 and the chipset 102 are typically configured according to a general-purpose computer architecture. That is, the processor 50 interprets and executes instruction codes sequentially supplied from the chipset 102 in accordance with an internal clock. The chipset 102 exchanges internal data with various components connected thereto, and generates instruction codes required for the processor 50. Furthermore, the chipset 102 has a function of caching data obtained as a result of the execution of arithmetic processing by the processor 50.
[0057] The processing unit 10 includes, as memories, a main memory 104 and a non-volatile memory 106 .
[0058] The main memory 104 is a volatile storage area, and stores various programs to be executed by the processor 50 after power is applied to the processing unit 10. The main memory 104 is also used as a working memory when the processor 50 executes various programs. As such a main memory 104, a device such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory) is used.
[0059] The non-volatile memory 106 stores in a non-volatile manner a real-time OS (Operating System), system programs, application programs installed from the support device 200, and various types of information.
[0060] These programs and data are copied to the main memory 104 so that they can be accessed by the processor 50 as necessary.
[0061] The processing unit 10 has, as communication interfaces, a system bus controller 120 and a network controller 149. These communication interfaces transmit output data and receive input data.
[0062] The system bus controller 120 controls data exchange via the system bus 11. More specifically, the system bus controller 120 includes a DMA (Dynamic Memory Access) control circuit 122, a system bus control circuit 124, and a buffer memory 126. The system bus controller 120 is internally connected to the system bus 11 via a system bus connector 127. The system bus connector 127 constitutes a physical communication port for connecting the PLC 100 to a field network 411 to which the input / output device 6 and the actuator 7 such as a driving device belong.
[0063] The network controller 149 includes a DMA (Dynamic Memory Access) control circuit 148, a network control circuit 147, and a buffer memory 146 to control the exchange of data between external devices (other PLCs or server 300) via the network connector 145 and the network 410. The network connector 145 constitutes a physical communication port for the PLC 100 to connect to the network to which the external device belongs.
[0064] The network control circuit 147 performs the process of transmitting the output data of the buffer memory 146 and the process of receiving the input data and storing it in the buffer memory 146 with an external device connected to the network 410.
[0065] The USB connector 110 is a communication interface for connecting the support device 200 and the processing unit 10. Typically, programs executable by the processor 50 of the processing unit 10, various data, settings, etc. transferred from the support device 200 are taken into the PLC 100 via the USB connector 110.
[0066] <D. Software Configuration> Next, the software configuration for the PLC (processing unit 10) to provide various functions will be described.
[0067] FIG. 4 is a schematic diagram showing an example of the software configuration implemented in the processing unit 10 of the PLC according to the present embodiment. The instruction codes included in the software shown in FIG. 4 are read out at an appropriate timing and provided to the processor 50 of the processing unit 10 for execution.
[0068] Referring to FIG. 4, programs necessary for processing in the PLC 100 are implemented on the real-time OS 190 in the processing unit 10.
[0069] The real-time OS 190 is designed according to the computer architecture of the processing unit 10, and provides a basic execution environment for the processor 50 to execute programs necessary for processing in the PLC 100. More specifically, the real-time OS 190 cooperates with the scheduler 160 to realize a multitask execution unit 191. The multitask execution unit 191 provides an environment for switching and executing tasks realized by a plurality of programs over time. The scheduler 160 switches the tasks assigned to the processor 50 according to the task priority or cycle indicated by the task control information 275. As a result, the processor 50 executes tasks according to the task priority or cycle indicated by the task control information 275.
[0070] More specifically, the processing unit 10 is implemented with a scheduler 160, a user program 170, an input processing module 173, an output processing module 174, a communication processing module 176, other system modules 178 that provide various services, an instruction execution module 180, and a memory manager 184. The memory manager 184 manages data stored in the main memory 104. More specifically, it manages the reading and writing by the user program 170 of variable data that defines various variables used in the user program 170 including the control program 171 and the communication program 172.
[0071] In relation to multitasking control, the scheduler 160 controls the execution start timing and processing interruption for the user program 170 , the input processing module 173 , the output processing module 174 , and the communication processing module 176 in accordance with task control information 275 .
[0072] The user program 170 is created by the user according to the control purpose. In other words, it is a program that is arbitrarily designed according to the line (process) to be controlled using the system 1. The user program 170 corresponds to a program module in an executable format generated by the support device 200, and includes a control program 171 and a communication program 172. The control program 171 can include various control calculation processing programs such as sequence processing and motion calculation.
[0073] The communication program 172 communicates with other devices between external devices (server 300 or multiple PLCs 100) connected to a network, for example, according to a publish / subscribe type communication method. In this embodiment, as a communication protocol for data distribution that realizes this publish / subscribe type communication model, an MQTT (Message Queuing Telemetry Transport) communication protocol that makes the server 300 function as a broker is used. Hereinafter, the publish / subscribe type communication is abbreviated as Pub / Sub communication. Note that the communication method for exchanging data between external devices (server 300 or multiple PLCs 100) connected to a network is not limited to Pub / Sub communication, and the protocol used is not limited to the MQTT communication protocol.
[0074] Input processing module 173 rearranges input data received by system bus controller 120 into a format suitable for use by user programs 170. Output processing module 174 rearranges output data generated by the execution of user programs 170 into a format suitable for transfer to system bus controller 120.
[0075] The communication processing module 176 controls communication processing with other PLCs or communication with the support device 200 by the network controller 149. The communication processing with other PLCs is realized in cooperation with the execution of the communication program 172. The communication processing module 176 includes a secure socket communication module 71 that uses a library function 175.
[0076] The other system modules 178 collectively represent one or more modules for implementing various functions of the PLC 1. The logger 117 is provided in the system module 178 but is treated as a module that cooperates with the communication processing module 176.
[0077] <An example of the Pub / Sub communication model> FIG. 5 is a diagram showing the Pub / Sub communication model according to the present embodiment. With reference to FIG. 5, the Pub / Sub communication model will be described for the connection between the PLC 1 and the PLC 2 in FIG. 2. In FIG. 5, the data published by the publisher PLC 1 is provided to the subscriber PLC 2 via the server 300 that is responsible for message distribution as an MQTT broker. The PLC 1 and the PLC 2 use the IP address and port number of the MQTT server 300 as parameters of the network connection conditions in the TLS session.
[0078] The publisher sends data with the topic of the server 300 as the destination. The publisher defines a topic as the destination in the message format having control-related data and sends it to the server 300.
[0079] The subscriber applies to the server 300 for the distribution of topic information and receives from the server 300 the distribution of the message registered in the applied topic. The subscriber can execute the user program 170 including the control program 171 using, for example, the control data 70 sent from the publisher.
[0080] The server 300 mediates the data exchange between the publisher and the subscriber. The subscriber registers with the server 300 to request topic data. Also, the publisher sends a message including the topic and data to the server 300.
[0081] Server 300 manages the topics subscribed by subscribers. For example, when Server 300 receives a message including a topic and data from a publisher, it stores the messages of the topic and distributes them to the subscribers who have requested the data of the topic.
[0082] Note that the description of FIG. 5 is also applicable to the case where the data published by PLC2 is provided to PLC1, which is a subscriber, via Server 300.
[0083] <F. Module Configuration of PLC Associated with Peripheral Devices> FIG. 6 is a diagram showing the module configuration of the PLC according to the present embodiment in association with peripheral devices. Referring to FIG. 6, the communication function module 9 included in PLC100 is composed of a module and data for communicating with Server 300 that constitutes an MQTT broker by PLC100. The module and data of the communication function module 9 include an executable communication program 172 and a secure socket communication module 71 developed (generated) by a program development tool 201 included in the support device 200, a CGI (Common Gateway Interface) 104 that receives requests from the support device 200, a secure socket setting file 103, and a private key and a certificate 203. PLC100 has a log writer 117, an OpenSSL module 138, and a TCP / IP module 139 in relation to the communication function module 9. The secure socket setting file 103 and the private key and the certificate 203 are stored, for example, in the non-volatile storage area of PLC100.
[0084] A user operates a program development tool 201 of a support device 200, generates a communication program 172, and transfers it to the PLC 100. The communication program 172 includes an MQTT-FB 204 and a secure socket communication command 205. The MQTT-FB 204 includes a plurality of FBs (Function Blocks) for realizing Pub / Sub communication according to the MQTT communication protocol. The FB is a unit program constituting the communication program 172, and includes, for example, a function having an input parameter and an output parameter. When the PLC 100 executes the communication program 172, the secure socket communication command 205 is called and executed based on the output from the FB of the publisher or subscriber of the MQTT-FB 204. When the secure socket communication command 205 is executed, secure communication is performed using the secure socket communication module 71.
[0085] The user operates the secure socket setting tool 202 of the support device 200 to receive a transfer setting instruction for transferring and setting the private key and certificate 203 for secure communication to the PLC 100, and also receives an operation instruction for the secure socket communication module 71 and the log writer 117. The CGI 104 receives the transfer setting instruction and the operation instruction transferred from the secure socket setting tool 202 of the support device 200, and stores the setting related to the secure socket communication in the secure socket setting file 103 according to the received instruction, and sets the private key and certificate 203 in the PLC 100. Furthermore, the CGI 102 starts (or stops) the secure socket communication module 71 according to the operation instruction, and sets a log instruction based on the operation instruction of the log writer 117 in the secure socket communication module 71. The log instruction includes, for example, a start instruction for making the log writer 117 start logging execution or a stop instruction for stopping logging that is being executed. The log writer 117 (more specifically, the first logging unit 118) responds to an instruction from the secure socket communication module 71 to start or stop a logging operation.
[0086] Data (including control data 70) output from the communication program 172 is exchanged with an external device via the secure socket communication module 71. More specifically, the data output from the communication program 172 is output to the OpenSSL module 138 via the secure socket communication module 71. The OpenSSL module 138 performs encrypted communication using a private key and a certificate 203 via a TCP / IP module 139. The encrypted data 33 is transferred to the server 300 via the firewall / router 32. The encrypted data 33 may be transferred to an on-premise server 310 serving as an MQTT broker.
[0087] When the PLC 100 exchanges encrypted data 33 with an external device such as the server 300 or the on-premise server 310, the log detection unit 179 of the secure socket communication module 71 monitors information output by the library function of the OpenSSL module 138, detects a predetermined type of information indicated by the secure socket setting file 103 from the monitored information, and outputs secure communication log information based on the detected information to the log writer 117 together with a logging command. The first logging unit 118 of the log writer 117 performs a process of secure communication logging 118a in which information from the log detection unit 179 is stored in the SD card 150 in accordance with the logging command. The log detection unit 179 of the secure socket communication module 71 also monitors events related to the control of the logging operation of the first logging unit 118, detects the occurrence of a predetermined type of event indicated by the secure socket setting file 103 from the monitored events, and outputs the detected event log information to the log writer 117 together with a logging command. The second logging unit 119 of the log writer 117 performs an event logging 119a process for storing an event log 152 in the non-volatile memory 106 in accordance with a logging command from the log detection unit 179. The above-mentioned predetermined types of information or events can be set in the secure socket setting file 103 of the PLC 100 by the user via the secure socket setting tool 202 or the CGI 104.
[0088] <G. Secure communication sequence> Referring to FIG. 7, the communication sequence of secure communication will be described. FIG. 7 is a diagram schematically showing the communication sequence according to an embodiment of the present invention. In FIG. 7, the communication sequence of secure communication among the communication module 61 constituted by the communication program 172, the secure socket communication module 71, and the server 300 is shown. In FIG. 7, the double-line arrow indicates encrypted communication. The secure socket communication module 71 causes the log writer 117 to perform the process of event logging 119a together with the process of FIG. 7.
[0089] Referring to FIG. 7, the PLC 100 executes the communication establishment command 80 (TCPConnect) included in the secure socket communication command 205, generates a TCP socket through the secure socket communication module 71 by an open process, and then executes the communication termination command 84 (TCPClose) included in the secure socket communication command 205 to close the TCP socket through the secure socket communication module 71. Until the command 80 (TCPConnect) is executed to generate a TCP socket and the command 84 (TCPClose) is executed, the TLS communication 73 is performed.
[0090] In the TLS communication 73, the PLC 100 executes the command 731 (TLSConnect) for establishing the TLS session included in the secure socket communication command 205, and opens a secure session with the socket generated by the command 80 (TCPConnect) and the session ID as arguments.
[0091] Using the opened secure session, communications 74, 75, and 76 for exchanging keys and certificates between the PLC 100 and the server 300 to authenticate each other, and after the authentication is performed, encrypted data communication is performed between the communication module 61 of the PLC 100 and the server application 320 of the server 300 through the secure socket communication module 71.
[0092] In the communication of this encrypted data, the PLC 100 communicates with the server 300 by executing a data transmission instruction 732 (TLSWrite) and a data reception instruction 733 (TLSRead) included in the secure socket communication instruction 205. When such data communication is completed, the PLC 100 executes a session termination instruction 734 (TLSDisconnect) included in the secure socket communication instruction 205. As a result, the TLS session ends, and then the PLC 100 executes an instruction 84 (TCPClose) to close the TCP socket.
[0093] <H. List of Secure Communication Logs> FIG. 8 is a diagram showing a list of secure communication logs 151 according to the present embodiment. The secure communication log 151 includes a log category 801, a log code 802 and a log name 803 for identifying the log, a log description 804, and detailed log information 805.
[0094] The category 801 includes a category 800 representing the network connection conditions of the TLS session (indicated by INFO in the figure) and an error (indicated by ERROR in the figure) 810 in the secure communication of the TLS session.
[0095] Regarding the connection conditions indicated by the log corresponding to the category 800, the log with the log code 802 of "1000" includes the host name, IP address, and port number of the destination server 300. The IP address and port number are associated with the server 300 as shown in FIG. 5, and the secure socket communication module 71 obtains them from, for example, the secure socket setting file 103 or the communication of the server 300 at the time of establishing the TLS session.
[0096] Also, the logs with log codes 802 of "1001", "1002", and "1003" respectively indicate the file name of the server 300's certificate, the file name of the client (PLC100) certificate, and the file name of the client (PLC100) private key. These are obtained when the secure socket communication module 71 exchanges keys and certificates with the server 300. Also, the logs with log codes 802 of "1010" and "1011" respectively indicate logs representing the establishment and termination of the TLS session, that is, logs indicating that the secure socket communication module 71 has established or terminated the TLS session.
[0097] The category 810 into which the errors output by the OpenSSL library functions are classified is assigned when the log code 802 is "5000" or higher. The log with log code 802 of "5000" indicates the name of the library function that output the TLS session error and the error code output by the library function. The log with log code 802 of "5001" indicates the error of timeout in secure communication. The log with log code 802 of "5002" indicates the information of the error that occurred in the secure socket configuration file, for example, the file name and line number of the secure socket configuration file. The log with log code 802 of "5101" indicates the information of the error that occurred in the secure socket configuration file, for example, the section, entry, setting value, etc. where the error was detected.
[0098] <I. List of Event Logs> FIG. 9 is a diagram showing a list of the event logs 152 according to the present embodiment. Referring to FIG. 9, the event logs 152 are indicated by the numbers 130 of No. 1, No. 2, and No. 3. The event logs 152 include information on the event type 131 for identifying the log, the matters to be recorded about the event 132, the event category 133, the event code 134, the importance 135, and the importance change 136.
[0099] The event category 133 includes "system" and "access." The event types 131 for which the event category 133 corresponds to a log of "system" include an event of starting (start of recording) or stopping (stop of recording) the logging operation of the secure communication log 151 by the first logging unit 118 of the log writer 117, and a failure of the logging (recording) operation of the secure communication log 151. A failure of the recording operation of the secure communication log 151 indicates, for example, but is not limited to, that the SD card 150, which is the medium for storing the secure communication log 151, is not attached to the PLC 100.
[0100] The PLC 100 can detect whether the SD card 150 is attached to the R / W 101 or not, based on the output from the R / W 101. For example, when an event indicating that the SD card 150 is not attached is detected, the secure socket communication module 71 may record the secure communication log 151 in the non-volatile memory 106 instead of the SD card 150. More specifically, the secure socket communication module 71 may control the second logging unit 119 of the log writer 117 to perform logging of the secure communication log 151. Alternatively, when the second logging unit 119 performs the logging operation of the secure communication log 151, only the secure communication log 151 corresponding to the change point at which the secure communication log 151 was able to be recorded in the SD card 150 and changed to a state in which it is no longer possible to record the secure communication log 151 may be recorded in the non-volatile memory 106.
[0101] The event type 131 corresponding to the log of the event category 133 "access" includes an event that the secure socket setting file 103 is accessed by the secure socket setting tool 202.
[0102] Types of access to the secure socket settings file 103 include access to settings related to secure socket communication and access to settings related to the secure communication log 151. The settings related to secure socket communication include a session ID, and access to the settings includes reading, changing, and deleting the settings.
[0103] Access to the settings related to the secure communication log 151 includes reading and changing the settings. FIG. 10 is a diagram showing an example of the settings related to the secure communication log 151 according to the present embodiment. The settings of the secure socket communication log included in the secure socket setting file 103 have options and values written (set) for the options. An example of the relationship between these options and values is shown in FIG. 10. Referring to FIG. 10, one of either "disable" or "enable" is set for the option. "Enable" indicates an option to enable the logging operation of the secure communication log 151 in the first logging unit 118, and "disable" indicates an option to disable it. In FIG. 10, there are two types of options that can be set to control the logging operation, but it is not limited to these types.
[0104] <J. Format of Logging for Communication Log and Event Log> FIG. 11 is a diagram showing an example of a recording method of the secure communication log 151 according to the present embodiment. Referring to FIG. 11, each log of the secure communication log 151 is stored in the SD card 150 in association with data 153 indicating the date and time when the network connection condition or an error was detected by the secure socket communication module 71. FIG. 12 is a diagram showing an example of a recording method of the event log 152 according to the present embodiment. Referring to FIG. 12, the non-volatile memory 106 stores the log of the event shown in FIG. 9 in association with data 154 indicating the date and time when the event was detected by the secure socket communication module 71. The log detection unit 179 converts a predetermined type of information (including an error) output by the library function into a log code 802 according to a rule, and searches the table of FIG. 8 based on the converted log code 802. Based on the search result, the log detection unit 179 searches for information corresponding to the log code 802 from FIG. 8, acquires the secure communication log 151 from the searched information, and outputs the secure communication log 151 to the first logging unit 118 of the log writer 117 together with a logging command. 9 based on the type of event (predetermined type) detected in relation to the logging operation of first logging unit 118. Based on the search result, log detection unit 179 searches the table of Fig. 9 for information (item to be recorded 132, event category 133, event code 134, importance 135, and importance change 136) corresponding to event type 131 corresponding to the type of event, and outputs an event log based on the searched information to second logging unit 119 of log writer 117 together with a logging command. In this embodiment, the information in the table of Fig. 8 or 9 may be included in secure socket setting file 103 in order to set the type of information or event to be logged in PLC 100.
[0105] According to the logging formats of FIGS. 11 and 12, both the secure communication log 151 and the event log 152 can be associated with each other using time stamps based on the time measured by the system timer 108, that is, time stamp data 153 and 154 on a common time axis. Therefore, when the user analyzes the secure communication log 151, the event log 152 can be traced based on this association. In the present embodiment, the support device 200 provides a tool for analyzing the secure communication log 151 and the event log 152. In the present embodiment, for example, the log detection unit 179 or the log writer 117 adds a time stamp to the log.
[0106] <K. Flowchart of Secure Communication Processing> FIGS. 13 and 14 are flowcharts of the secure communication processing according to the present embodiment. In FIGS. 13 and 14, the processes of communications 74, 75, and 76 for exchanging keys and certificates between the PLC 100 and the server 300 and authenticating each other, which were described in FIG. 7, are omitted.
[0107] Referring to FIG. 12, when secure communication is started (step S1), the PLC 100 executes a communication establishment command 80 (TCPConnect) included in the secure socket communication command 205 and performs an open process of the TCP socket (step S3). As the secure socket communication module 71, the PLC 100 determines whether the command 80 has ended normally or abnormally based on the output of the function of the TCP socket indicated by the command 80 (step S5).
[0108] When it is determined that the command 80 has ended abnormally ("abnormal end" in step S5), the secure socket communication module 71 stores (logs) information including the error code indicated by the output of the function of the command 80 in the SD card 150 via the log writer 117 as the secure communication log 151 (step S7).
[0109] On the other hand, when it is determined that the command 80 has ended normally ("normal end" in step S5), the PLC 100 executes the communication process R20 of the TLS communication 73.
[0110] First, in the TLS communication 73, the PLC 100 executes an instruction 731 (TLSConnect) for establishing a TLS session, which is included in the secure socket communication instruction 205, and the PLC 100, as the secure socket communication module 71, determines whether the instruction 731 ended normally or abnormally based on the output of the secure socket function indicated by the instruction 731 (step S11).
[0111] If it is determined that the instruction 731 ended abnormally ("abnormal termination" in step S11), the secure socket communication module 71 generates information including an error code indicated by the output of the function of the instruction 731, and stores (logs) it as the secure communication log 151 on the SD card 150 via the log writer 117 (step S13).
[0112] On the other hand, if it is determined that the instruction 731 has ended normally ("normal end" in step S11), the PLC 100 executes the data transmission process instruction 732 (TLSWrite) included in the secure socket communication instruction 205 for data communication (step S15), and also executes the data reception process instruction 733 (TLSRead) (step S21). The PLC 100, as the secure socket communication module 71, determines whether the instruction 732 has ended normally or abnormally based on the output of the secure socket function indicated by the instruction 732 (step S17), and also determines whether the instruction 733 has ended normally or abnormally based on the output of the secure socket function indicated by the instruction 733 (step S23).
[0113] If it is determined that instruction 732 or instruction 733 ended abnormally ("abnormal termination" in step S17 or "abnormal termination" in step S23), the secure socket communication module 71 generates information including an error code indicated by the output of the function of instruction 732 or instruction 733, and stores (logs) it as secure communication log 151 on SD card 150 via log writer 117 (steps S19, S25).
[0114] If it is determined that the instructions 732 and 733 have ended normally ("Ended normally" in step S17 and "Ended normally" in step S23), the PLC 100 executes a session end instruction 734 (TLSDisconnect) included in the secure socket communication instructions 205 in order to close the TCP socket (step S27). The PLC 100, as the secure socket communication module 71, determines whether the instruction 734 ended normally or abnormally based on the output of the secure socket function indicated by the instruction 734 (step S29).
[0115] If it is determined that the instruction 734 ended abnormally ("abnormal termination" in step S29), the secure socket communication module 71 stores (logs) information including the error code indicated by the output of the function of the instruction 734 as the secure communication log 151 on the SD card 150 via the log writer 117 (step S31).
[0116] On the other hand, if it is determined that the command 734 has ended normally ("normal end" in step S29), the PLC 100 executes the command 84 (TCPClose) to close the TCP socket (step S33). The PLC 100, as the secure socket communication module 71, determines whether the command 84 ended normally or abnormally based on the output of the socket function indicated by the command 84 (step S35).
[0117] If it is determined that command 84 ended abnormally ("abnormal termination" in step S35), the secure socket communication module 71 stores (logs) information including the error code indicated by the output of the function of command 84 as a secure communication log 151 on the SD card 150 via the log writer 117 (step S37).
[0118] On the other hand, if it is determined that the command 84 has been normally completed, the secure communication in the TCP communication 73 ends (step S39).
[0119] In addition to the secure communication processing of Figures 13 and 14, PLC 100, as a secure socket communication module 71, monitors whether an event log that controls the logging operation of secure communication log 151 has occurred, and when it detects the occurrence of an event, stores (logs) event log 152 including a code indicating the event in non-volatile memory 106 via log writer 117.
[0120] Examples of cases in which the TCPConnect command 80 mentioned above will output an error include the following: the Ethernet cable is not connected, the TCP socket is not open, the IP address of the destination is incorrect, the HOST name of the destination is incorrect, the port number of the destination is incorrect, the IP address setting of PLC100 is incorrect, communication is blocked by a firewall, etc.
[0121] Additionally, cases in which instruction 731 TLSConnect outputs an error include, for example, an incorrect certificate or private key, an expired or revoked certificate.
[0122] In addition, cases in which the TLSWrite or TLSRead instructions 732 and 733 output an error include, for example, when secure communication is not possible (for example, the cure socket session is disconnected, the TCP socket is disconnected, etc.), when authentication of the server 300 has failed, etc.
[0123] 13 and 14, when the communication program 172 and the secure socket communication module 71 perform secure communication, an error is detected, and the secure communication log 151, which is historical information related to the secure communication including the detected error, can be logged by the log writer 117. During secure communication, the secure socket communication module 71 includes error information output by an OpenSSL library function in the secure communication log 151. This allows the PLC 100 to provide the secure communication log 151 as information for evaluating or analyzing the soundness of the secure communication.
[0124] <Example of communication data> FIG. 15 is a diagram showing an example of information obtained by monitoring in secure communication according to the present embodiment. Referring to FIG. 15, Frame 9 indicates the procedure for establishing a TCP connection, Frame 13 indicates the procedure for establishing a TLS session (start process of secure communication using OpenSSL), the frame starting from Frame 24 indicates data 241 exchanged between the PLC 100 and the server 300, Frame 32 indicates the procedure for ending the TLS session (end process of secure communication using OpenSSL), and Frame 48 indicates the procedure for ending the TCP connection.
[0125] As shown in FIG. 15, in the frame starting from Frame 24, the data 241 exchanged between the PLC 100 and the server 300 is encrypted. Even if the encrypted data 241 is logged, it is difficult to analyze. In the present embodiment, the first logging unit 118 logs information related to secure communication except for the data related to control (i.e., encrypted data) exchanged in secure communication. By not logging the encrypted data 241 in this way, the storage area of the SD card 150 can be effectively utilized.
[0126] In the present embodiment, the information logged by the first logging unit 118 may be the information of the frames related to the procedure for establishing a connection and the procedure for establishing a session of secure communication shown in Frame 9, Frame 13, Frame 24, Frame 32, and Frame 48, in addition to the network connection conditions or errors shown in FIG. 8.
[0127] <M. Program and recording medium> The user program 170 including the communication program 172 shown in this embodiment, the program of the secure socket communication module 71, and the program of the log writer 117 can also be recorded on a computer-readable recording medium including a recording medium such as a flexible disk, a CD-ROM 91, a ROM (Read Only Memory), a RAM (Random Access Memory), and an HDD (Hard Disc Drive) attached to the PLC 100, and provided as a program product. The recording medium is a medium that accumulates information such as the program by an electrical, magnetic, optical, mechanical, or chemical action so that a computer or other device, machine, etc. can read the information such as the recorded program.
[0128] Also, the above program can be provided to the PLC 100 by downloading via a communication interface from a network.
[0129] <N. Supplementary Note> This embodiment as described above includes the following technical ideas. [Configuration 1] A control device (100) for FA (Factory Automation), A first connector (130) for connecting to a first network to which a control target belongs, A second connector (145) for connecting to a second network to which an external device belongs, A control arithmetic unit (60) that executes control arithmetic processing using data (70) related to the control of the target, A communication unit (172, 177) that exchanges the data with the external device by secure communication via the second network, A first logging unit (118) that logs information (151) related to the secure communication performed by the communication unit, A second logging unit (119) that logs information (152) related to the control of the logging operation of the first logging unit, a control device. [Configuration 2] Further comprising a storage medium interface (101) for detachably mounting an external storage medium (150), 2. The control device according to configuration 1, wherein the first logging unit stores information related to the secure communication in the external storage medium attached to a storage medium interface. [Configuration 3] 3. The control device according to configuration 2, wherein the second logging unit stores information related to control of the logging operation in a storage medium (106) different from the external storage medium. [Configuration 4] 4. The control device according to any one of configurations 1 to 3, wherein the first logging unit logs information related to the secure communication, excluding data related to the control exchanged in the secure communication. [Configuration 5] 5. The control device according to any one of configurations 1 to 4, wherein the information related to the secure communication includes information (810) of an error that occurred in the secure communication. [Configuration 6] The control device according to any one of configurations 1 to 5, wherein the information relating to the secure communication includes conditions (800) for establishing the secure communication via the second network. [Configuration 7] The control device according to any one of configurations 1 to 6, wherein the information related to the secure communication includes information related to connection establishment of the secure communication via the second network. [Configuration 8] 8. The control device according to claim 7, wherein the information related to the secure communication includes information related to session establishment after the connection is established. [Configuration 9] A control device as described in any one of configurations 1 to 8, wherein information related to control of the logging operation includes at least one of starting the logging operation, stopping the logging operation, failure of the logging operation, and settings related to the logging operation. [Configuration 10] The control device of configuration 9, wherein the settings related to the logging operation include a setting to enable or disable the logging operation. [Configuration 11] A control device as described in any one of configurations 1 to 10, wherein information related to the secure communication logged by the first logging unit and information related to the control of the logging operation logged by the second logging unit are time stamped (153, 154) on a common time axis when logged. [Configuration 12] A logging method executed by a control device (100) of a factory automation (FA), comprising: The control device includes: a first connector (130) that connects a first network to which the control targets (6, 7) belong; a second connector (145) for connecting a second network to which the external device (300) belongs; A control calculation unit (60) that executes a control calculation process using data related to the control of the target; a communication unit (172, 177)) that transmits and receives the data between the external device and the second network by secure communication; The logging method includes: logging information (151) related to the secure communication performed by the communication unit; and logging information (152) related to controlling logging operations of information related to said secure communication. [Configuration 13] 13. A program for causing a computer to execute the logging method according to claim 12.
[0130] The embodiments disclosed herein should be considered to be illustrative and not restrictive in all respects. The scope of the present invention is defined by the claims, not the above description, and is intended to include all modifications within the scope and meaning equivalent to the claims. [Explanation of symbols]
[0131] 1 system, 6 input / output device, 7 actuator, 9 communication function module, 10 processing unit, 60 control operation unit, 61 communication module, 70 control data, 71 secure socket communication module, 90 optical reader / writer, 50 processor, 102 chipset, 103 secure socket setting file, 106 non-volatile memory, 108 system timer, 117 log writer, 118 first logging unit, 118a secure communication logging, 119 second logging unit, 119a event logging, 120 system bus controller, 127 system bus connector 131 event type, 132 item, 133 event category, 134 event code, 135 importance, 136 importance change, 150 SD card, 151 secure communication log, 152 event log, 170 user program, 171 control program, 172 communication program, 173 input processing module, 174 Output processing module, 175 library functions, 176 communication processing module, 178 system module, 179 log detection unit, 180 instruction execution module, 184 memory manager, 191 multitasking execution unit, 200 support device, 201 program development tool, 202 secure socket setting tool, 203 key and certificate 205 Secure socket communication command, 275 Task control information, 300 Server, 310 On-premise server, 320 Server application, 400, 410 Network, 411 Field network, 800, 801, 810 Category, 802 Log code, 803 Log name, 804 Description, 805 Detailed information, 190 Real-time OS, R20 Communication processing.
Claims
1. A control device for FA (factory automation), a first connector for connecting a first network to which a control target belongs; a second connector for connecting a second network to which an external device belongs; A control calculation unit that executes a control calculation process using data related to the control of the target; a communication unit that transmits and receives the data to and from the external device by secure socket communication using socket communication via the second network; a first logging unit that logs information related to the secure socket communication performed by the communication unit; a second logging unit configured to log information related to control of a logging operation of the first logging unit for information related to the secure socket communication.
2. The control device described in claim 1, wherein the first logging unit logs information related to the secure socket communication excluding data related to the control exchanged in the secure socket communication.
3. A control device as described in claim 1 or 2, wherein the information related to the secure socket communication includes at least one of information about an error that has occurred in the secure socket communication, conditions for establishing the secure socket communication via the second network, and information related to establishing a connection of the secure socket communication via the second network.
4. The control device described in claim 3, wherein the information related to the secure socket communication includes information related to session establishment after the connection is established.
5. A control device as described in any one of claims 1 to 4, wherein information related to the secure socket communication logged by the first logging unit and information related to the control of the logging operation logged by the second logging unit are time-stamped on a common time axis when logged.
6. A control device for FA (factory automation), a first connector for connecting a first network to which a control target belongs; a second connector for connecting a second network to which an external device belongs; A control calculation unit that executes a control calculation process using data related to the control of the target; a communication unit that exchanges the data with the external device by secure communication via the second network; a first logging unit that logs information related to the secure communication performed by the communication unit; a second logging unit that logs information related to control of a logging operation of the first logging unit, The control device, wherein the first logging unit logs information related to the secure communication, excluding data related to the control exchanged in the secure communication.
7. The control device described in Claim 6, wherein the information related to the secure communication includes at least one of information about an error that has occurred in the secure communication, conditions for establishing the secure communication via the second network, and information related to establishing a connection of the secure communication via the second network.
8. The control device described in Claim 7, wherein the information related to the secure communication includes information related to session establishment after the connection is established.
9. A control device as described in any one of claims 6 to 8, wherein information related to the secure communication logged by the first logging unit and information related to the control of the logging operation logged by the second logging unit are time-stamped on a common time axis when logged.
10. Further comprising a storage medium interface for detachably mounting an external storage medium, 10. The control device according to claim 1, wherein the first logging unit stores information to be logged in the external storage medium attached to a storage medium interface.
11. The control device described in Claim 10, wherein the second logging unit stores information related to the control of the logging operation in a storage medium other than the external storage medium.
12. A control device as described in any one of claims 1 to 11, wherein information related to control of the logging operation includes at least one of starting the logging operation, stopping the logging operation, failure of the logging operation, and settings related to the logging operation.
13. The control device described in claim 12, wherein the settings related to the logging operation include settings for enabling or disabling the logging operation.
14. A logging method executed by a control device of a factory automation (FA), comprising: The control device includes: a first connector for connecting a first network to which a control target belongs; a second connector for connecting a second network to which an external device belongs; A control calculation unit that executes a control calculation process using data related to the control of the target; a communication unit that transmits and receives the data to and from the external device by secure socket communication using socket communication via the second network, The logging method includes: logging information related to the secure socket communication performed by the communication unit; and logging information related to control of a logging operation of the information related to the secure socket communication in the step of logging the information related to the secure socket communication.
15. A logging method executed by a control device of a factory automation (FA), comprising: The control device includes: a first connector for connecting a first network to which a control target belongs; a second connector for connecting a second network to which an external device belongs; A control calculation unit that executes a control calculation process using data related to the control of the target; a communication unit that transmits and receives the data between the external device and the second network by secure communication, The logging method includes: logging information related to the secure communication performed by the communication unit; logging information related to controlling a logging operation of information related to the secure communication; A logging method, wherein the step of logging information relating to the secure communication includes the step of logging information relating to the secure communication excluding data relating to the control exchanged in the secure communication.
16. A program for causing a computer to execute the logging method according to claim 14 or 15.
Citation Information
Patent Citations
Inter-client communication log management method and system
JP2008084246A
controller
JP2011035664A
Control system, control program, and control method
JP2018097663A
Control system, information processing apparatus, abnormality factor estimation program
JP2019101970A
Control device, monitoring method, and monitoring program
JP2019135588A