Control device and control method
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- KK TOSHIBA
- Filing Date
- 2024-10-18
- Publication Date
- 2026-06-18
AI Technical Summary
The existing cloud-type controller systems face issues with communication disconnection between the cloud server and edge server, leading to delayed re-establishment of connections due to processing connection requests from unintended clients, which disrupts data communication.
A control device and method that manage connection requests by establishing a communication protocol and, if no encryption protocol request is received within a certain time, promptly disconnects the communication protocol, thereby preventing unauthorized access and ensuring rapid reconnection with legitimate devices.
This approach enables quick establishment of secure communication connections with desired devices, preventing unauthorized access and maintaining uninterrupted data communication by promptly disconnecting unauthorized clients, thus ensuring efficient control over connected devices.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0004] , , , , ,
[0003]
[0001] This embodiment relates to a control device and a control method.
Background Art
[0002] There is a cloud-type controller system that performs control calculations on a cloud server. In the cloud-type controller system, the cloud server is an HTTPS (Hyper Text Transfer Protocol Secure) server and the edge server is an HTTPS client. The cloud server performs HTTPS communication via a communication connection established with the edge server, transmits control data for devices, and controls the devices connected to the edge server.
[0003] Since the communication between the cloud server and the edge server is via the Internet, an event of disconnection of the communication connection may also occur. When the communication connection is disconnected, an attempt is made to re-establish the communication connection between the cloud server and the edge server. On the other hand, since the cloud server is on the Internet, in addition to connection requests from the edge server, it may also receive connection requests from unintended clients (for example, devices of malicious third parties). The connection requests received by the cloud server are stored in the connection waiting port of the cloud server and processed in order. In a situation where one or more connection requests from unintended clients are accumulated and a connection request for re-establishing the communication connection is received from the edge server, the cloud server takes time to process the connection request from the edge server. As a result, it takes time to establish the communication connection between the cloud server and the edge server.
[0004] Since data communication is constantly and periodically performed between the cloud server and the edge server, it is necessary to maintain the communication connection. Therefore, when the communication connection between the cloud server and the edge server is disconnected, the communication connection must be re-established immediately and data communication must be resumed.
Prior Art Documents
[0005] [Patent Document 1] Patent No. 6436853 [Overview of the project] [Problems that the invention aims to solve]
[0006] Therefore, this embodiment provides a control device and a control method that enable the early establishment of a connection with a communication device. [Means for solving the problem]
[0007] The control device of this embodiment includes a communication unit that receives a connection request for a communication protocol from a communication device, and a connection management unit that establishes a connection between the communication device and the communication protocol based on the connection request for the communication protocol, establishes a connection between the communication device and the encryption protocol if the communication unit receives a connection request for an encryption protocol from the communication device within a certain period of time after the establishment of the connection for the communication protocol, and disconnects the connection for the communication protocol if no connection request for the encryption protocol is received within the certain period of time after the establishment of the connection for the communication protocol. [Brief explanation of the drawing]
[0008] [Figure 1] A block diagram showing a control system according to the first embodiment. [Figure 2] A block diagram showing a control device according to the first embodiment. [Figure 3] A flowchart showing an example of the processing of the control device according to the first embodiment. [Figure 4] A block diagram showing a control device according to the second embodiment. [Figure 5] A flowchart showing an example of the processing of the control device according to the second embodiment. [Figure 6]A flowchart showing an example of the processing of a control device according to a modified example of the second embodiment. [Figure 7] A block diagram showing a control device according to the third embodiment. [Figure 8] A diagram showing an example of a user interface settings screen related to the third embodiment. [Figure 9] A block diagram showing a control device according to the fourth embodiment. [Figure 10] A diagram showing an example of a user interface settings screen related to the fourth embodiment. [Figure 11] A block diagram showing a control device according to the fifth embodiment. [Figure 12] A diagram showing an example of an attacker list relating to the fifth embodiment. [Modes for carrying out the invention]
[0009] Embodiments of the present invention will be described below with reference to the drawings. The following description will focus on the main components of these embodiments, but there may be components and functions not shown or described. The following description does not exclude any components or functions not shown or described.
[0010] (First embodiment) Figure 1 is a block diagram showing a control system 1 according to this embodiment. In the control system 1, the control device 10 is connected to the edge server 20 via the Internet 30. Specifically, after the control device 10 establishes a connection with the edge server 20 using a communication protocol, an encryption protocol is established with the edge server 20 based on the connection of the communication protocol. For example, the communication protocol is Transmission Control Protocol (TCP) and the encryption protocol is Transport Layer Security (TLS). Alternatively, the communication protocol is User Datagram Protocol (UDP) and the encryption protocol is Datagram Transport Layer Security (DTLS). However, the examples of communication protocols and encryption protocols are not limited to these.
[0011] The edge server 20 is connected to the controlled device 50 via the local network. The controlled device 50 is the equipment that is controlled by the control device 10. The controlled device 50 is, for example, equipment that makes up an industrial plant, such as valves, pumps, heat exchangers, mixers, etc.
[0012] The edge server 20 is a communication device or gateway device that mediates communication between the control device 10 and the controlled device 50, and is the desired communication partner (client) for the control device 10. The control device 10 controls the controlled device 50 by communicating data with the controlled device 50 via the edge server 20. Specifically, the control device 10 uses the communication connection established with the edge server 20 to receive data such as measurement data from the controlled device 50 and to transmit control data. The communication connection is a communication path formed by the connection of the aforementioned communication protocol and the connection of the encryption protocol. Encrypted and secure data communication takes place in the communication connection. For example, if the communication protocol is TCP and the encryption protocol is TLS, the communication connection is an HTTPS connection.
[0013] In FIG. 1, there is one controlled device 50, but there may be two or more. Also, there is one edge server 20, but there may be two or more. In this case, one or more controlled devices may be connected to each edge server 20, or a plurality of edge servers 20 may be commonly used for one or more controlled devices.
[0014] An attack device 40 is connected to the Internet 30. The attack device 40 is a communication device operated by a malicious third party. The third party intends to attack the control system 1 (for example, attack the controlled device 50) by connecting the attack device 40 to the control device 10 via the Internet 30. The attack device 40 is an undesirable client for the control device 10.
[0015] FIG. 2 is a block diagram showing the control device 10 according to the first embodiment.
[0016] The control device 10 includes a connection management unit 11 which is a processing unit that performs the processing according to this embodiment, a control calculation unit 12, and a communication unit 13. Part or all of the connection management unit 11, the control calculation unit 12, and the communication unit 13 may be constituted by a circuit or a processor such as an ASIC (application specific integrated circuit) or an FPGA (Field-Programmable Gate Array). Alternatively, part or all of these elements may be executed by a CPU that executes a program. The control device 10 is a cloud server provided on the cloud.
[0017] The communication unit 13 communicates with a communication device via the Internet 30. This communication device is either the edge server 20 or the attack device 40. The communication unit 13 performs communication to establish a connection of a communication protocol with the communication device, and communication to establish a connection of an encryption protocol after the connection of the communication protocol is established. The communication to establish the connection of the encryption protocol is performed using the established connection of the communication protocol. Also, after the communication connection is established between the communication unit 13 and the communication device by establishing the connection of the encryption protocol, the communication unit 13 performs data communication via the communication connection. In the following description, when it is described that the connection management unit 11 or the control arithmetic unit 12 communicates with the communication device, it is assumed that this communication is performed via the communication unit 13.
[0018] The connection management unit 11 manages information regarding the connection state between the control device 10 (more specifically, the communication unit 13) and the communication device. The communication device is either the edge server 20 or the attack device 40.
[0019] Examples of information regarding the connection state include information indicating that the connection of the communication protocol has been established with the communication device but the connection of the encryption protocol has not been established (referred to as the encryption protocol connection establishment waiting state). Also, there is information such as information on one or more established communication connections with the communication device. As information on the communication connection, there is detailed information on the connection of the communication protocol and the connection of the encryption protocol that constitute the communication connection. There is also information such as the number of established communication connections.
[0020] There is an upper limit to the number of communication connections that the control device 10 can establish with a single communication device. In other words, a communication device can establish multiple communication connections with the control device 10, within a range below this upper limit. When the connection management unit 11 establishes a communication protocol connection upon receiving a connection request for a communication protocol from a communication device, it manages the communication device as waiting for an encrypted protocol connection to be established. Then, when an encrypted protocol connection is established with the communication device in this state, the waiting state for an encrypted protocol connection to be established is cleared, and the connection with the communication device is managed as an established communication connection. At this time, the connection management unit 11 increments the number of communication connections established with the communication device by one.
[0021] The connection management unit 11 processes connection requests (communication protocol connection requests or encryption protocol connection requests) received by the communication unit 13 from the communication device, based on the connection status information managed for each communication device.
[0022] When the connection management unit 11 receives a connection request for a communication protocol from a communication device, if the number of established communication connections with the communication device is less than the upper limit, the connection management unit 11 accepts the connection request from the communication device and establishes a connection for the communication protocol. The connection management unit 11 sends an acceptance response to the communication device indicating that it has accepted the connection request for the communication protocol, i.e., that it has established a connection for the communication protocol. If the number of communication connections with the communication device has reached the upper limit, the connection management unit 11 decides not to accept the connection request for the communication protocol from the communication device and sends a rejection response indicating that it will not establish a connection for the communication protocol.
[0023] The connection management unit 11 determines, when a connection of a communication protocol is established with a communication device, whether a connection request for an encrypted protocol has been received by the communication unit 13 within a certain period of time after the connection is established. If a connection request for an encrypted protocol has been received within a certain period of time and the number of established communication connections with the communication device is less than the upper limit, the connection management unit 11 accepts the connection request for an encrypted protocol from the communication device and establishes a connection for the encrypted protocol. The starting point for the certain period of time can be any time after the establishment of the communication protocol connection has been decided. For example, it may be the time when an acceptance response is sent, the time when the establishment of the connection is decided, or, if there is an ACK from the communication device for the acceptance response, the time when the ACK is received.
[0024] The connection management unit 11 sends an acceptance response to the communication device indicating that it has accepted the connection request for the encryption protocol, that is, that it has established a connection for the encryption protocol. With the establishment of the connection for the encryption protocol, a communication connection is established between the communication device and the connection for the communication protocol, including both the connection for the communication protocol and the connection for the encryption protocol.
[0025] On the other hand, if the connection management unit 11 does not receive a connection request for the encryption protocol at the communication unit 13 within a certain period of time after the establishment of the communication protocol connection, or if the number of communication connections with the communication device has reached the upper limit, it decides not to accept the connection request for the encryption protocol. It then sends a rejection response indicating that it will not establish a connection for the encryption protocol. The connection management unit 11 then clears the waiting state for the establishment of an encryption protocol connection to the communication device.
[0026] In the above description, the connection management unit 11 determined whether the number of established communication connections with the communication device was less than the upper limit both when it received a connection request for a communication protocol and when it received a connection request for an encryption protocol, but it may also do so in only one of these cases.
[0027] The connection management unit 11 sends information about the communication connection established with the communication device to the control calculation unit 12.
[0028] The control calculation unit 12 uses the communication connection information received from the connection management unit 11 to perform data communication with the communication device via the communication connection. For example, if the communication device is an edge server 20, the control calculation unit 12 obtains information about the controlled device 50 from the edge server 20 (for example, detailed information about the controlled device 50 and measurement data from sensors monitoring the controlled device 50) and generates control data for the controlled device 50. The control calculation unit 12 then transmits the control data to the controlled device 50 via the edge server 20. This controls the controlled device 50.
[0029] Figure 3 shows a flowchart of an example of the processing of the control device 10 as a control method according to this embodiment.
[0030] First, the control device 10 receives a Connect packet from the communication device as a connection request for the communication protocol (S301). Upon receiving the Connect packet, the connection management unit 11 of the control device 10 accepts the connection request for the communication protocol (S301). The connection management unit 11 sends an Accept packet to the communication device as an acknowledgment that it has accepted the connection request (S301). This establishes a connection for the communication protocol between the control device and the communication device.
[0031] Next, the connection management unit 11 of the control device 10 waits for the communication device to receive a connection request for an encrypted protocol (S302). As an example, in order to accept connection requests using Secure Sockets Layer (SSL) or TLS, SSL Accept (connection waiting process) is performed on non-blocking sockets at regular intervals. Alternatively, Mutual TLS may be used to verify the certificate of the edge server 20 at the same time as the execution of the Accept (connection waiting process). Sending an encrypted protocol connection request from the communication device to the control device 10 can be done, for example, by executing SSL Connect. Certificates and other necessary documents for SSL authentication should be prepared in advance. However, the method of waiting for the reception of an encrypted protocol connection request and the method of sending an encrypted protocol connection request are not limited to these methods.
[0032] Next, the connection management unit 11 of the control device 10 determines whether a connection request for the encryption protocol was received within a certain period of time after the establishment of the communication protocol connection (S303). If a connection request for the encryption protocol is received within a certain period of time (No in step S303), the process proceeds to step S304. If a connection request for the encryption protocol is not received within a certain period of time (Yes in step S303), a timeout error (first error) is detected, and the process proceeds to step S307.
[0033] In step S307, the connection management unit 11 of the control device 10 terminates the communication protocol connection with the communication device (S307). Specifically, the connection management unit 11 terminates the communication protocol connection with the communication device by sending a communication protocol disconnection request packet to the communication device. Examples include, but are not limited to, SSL shutdown or performing a shutdown or close on the relevant communication socket.
[0034] In step S304, the connection management unit 11 of the control device 10 checks whether the number of established communication connections with the communication device is less than the upper limit. If the upper limit has been reached (No in S304), the process proceeds to step S307. The processing in step S307 is as described above. If the number is less than the upper limit (Yes in S304), the process proceeds to step S305.
[0035] In step S305, the connection management unit 11 of the control device 10 decides to accept the connection request for the encrypted protocol from the communication device and establishes an encrypted protocol connection. The connection management unit 11 sends an acceptance response to the communication device indicating that it has accepted the connection request for the encrypted protocol, i.e., that an encrypted protocol connection has been established. As a result, a communication connection for data communication is established (set up) between the control device and the communication device.
[0036] The connection management unit 11 of the control device 10 notifies the control calculation unit 12 of the information of the established communication connection (S306). The control calculation unit 12 uses the information of the communication connection to perform data communication with the communication device (S306).
[0037] The following are specific examples of operation when the communication device is an edge server 20 and when it is an attack device 40, with reference to Figure 3.
[0038] [When the communication device is Edge Server 20] As a prerequisite, it is assumed that no communication connections have yet been established between the edge server 20 and the control device 10. The following describes the operation in which the control device 10 establishes a communication connection with the edge server 20 by connecting a communication protocol and an encryption protocol, and then begins controlling the controlled device 50 via the communication connection.
[0039] First, the connection management unit 11 of the control device 10 receives a Connect packet from the edge server 20 as a connection request for the communication protocol, and sends an Accept packet as an acknowledgment that it has accepted the connection request for the communication protocol (S301). This establishes a communication protocol connection between the control device 10 (or communication unit 13) and the edge server 20.
[0040] The connection management unit 11 of the control device 10 waits to receive a connection request for the encryption protocol from the edge server 20 (S302). The connection management unit 11 of the control device 10 determines whether a connection request for the encryption protocol has been received within a certain time after the establishment of the communication protocol connection (S303). Since the edge server 20 is configured to send the connection request for the encryption protocol within the aforementioned certain time after the establishment of the communication protocol connection, the connection request for the encryption protocol is received within the certain time (No in S303), and no timeout error occurs.
[0041] The connection management unit 11 of the control device 10 checks whether the number of established communication connections with the edge server 20 is less than the upper limit (S304). At this point, the edge server 20 has not established any communication connections with the control device 10, so the number of connections is zero, and the process proceeds to step S305.
[0042] In step S305, the connection management unit 11 of the control device 10 decides to accept the encryption protocol connection request from the edge server 20 and establishes an encryption protocol connection. The connection management unit 11 sends an acceptance response to the edge server 20 indicating that it has accepted the encryption protocol connection request (same S305). As a result, a communication connection for data communication is established between the control device 10 and the edge server 20.
[0043] The connection management unit 11 of the control device 10 notifies the control calculation unit 12 of the information of the established communication connection (S306). The control calculation unit 12 uses the information of the communication connection to communicate data with the edge server 20 (same S306). For example, the control calculation unit 12 sets the edge server 20 as a monitoring target for receiving data so that it can receive data necessary for controlling the controlled device 50 from the edge server 20 (for example, measurement data from sensors that monitor the controlled device 50). The control calculation unit 12 performs calculations using the received data and transmits control data including the calculation results to the edge server 20. The transmitted control data is sent to the controlled device 50 via the edge server 20, and the controlled device 50 performs operations based on the control data.
[0044] As described above, the control device 10 can establish a secure communication connection with the desired communication partner, the edge server 20, at high speed, and control the controlled device 50.
[0045] [If the communication device is the attack device 40] The following describes the operation in which, after the control device 10 establishes a communication protocol connection with the attack device 40, a timeout error is detected if a connection request for the encrypted protocol is not received from the attack device 40 within a certain period of time, and the control device 10 prematurely disconnects the communication protocol connection with the attack device 40.
[0046] The connection management unit 11 of the control device 10 receives a Connect packet from the attack device 40 as a connection request for the communication protocol. The connection management unit 11 decides to accept the connection request for the communication protocol and sends an Accept packet to the attack device 40 as an acknowledgment that the connection request for the communication protocol has been accepted (S301). As a result, a connection for the communication protocol is established between the control device 10 (or the communication unit 13) and the attack device 40.
[0047] The connection management unit 11 of the control device 10 waits to receive a connection request for an encrypted protocol from the attack device 40 (S302).
[0048] The connection management unit 11 of the control device 10 determines whether an encryption protocol connection request has been received within a certain time after the establishment of the communication protocol connection (S303). Here, since an encryption protocol connection request is not received within a certain time, a timeout error (first error) occurs (Yes in S303). In other words, the attack device 40 is not configured to send an encryption protocol connection request after the establishment of the communication protocol connection, or even if it is configured to send an encryption protocol connection request, it is not configured to send it within the aforementioned certain time.
[0049] The connection management unit 11 of the control device 10 terminates the communication protocol connection with the attack device 40 (S307). Specifically, the connection management unit 11 terminates the communication protocol connection with the attack device 40 by sending a communication protocol disconnection request packet.
[0050] Through the above process, the control device 10 can prematurely disconnect the communication protocol connection with the attack device 40, which is not the desired communication partner. By prematurely disconnecting the communication protocol connection with the attack device 40, the state of waiting for an encrypted protocol connection request from the attack device 40 is eliminated, and processing of the connection request can be started immediately upon receiving a communication protocol connection request from the edge server 20. For example, even if the communication connection between the control device 10 and the edge server 20 is interrupted for any reason, the control device 10 can accept the communication protocol reconnection request from the communication device 20 without delay and immediately establish a communication connection with the communication device 20. Therefore, it becomes possible to quickly switch to controlling the controlled device 50 and maintain periodic data communication.
[0051] (Second embodiment) Figure 4 is a block diagram showing the control device 10A according to the second embodiment. The operation of the connection management unit 11A differs in part from that of the connection management unit 11 in the first embodiment. Elements with the same names as in Figure 1 are denoted by the same reference numerals, and detailed explanations are omitted except for modified or extended processes.
[0052] When the connection management unit 11A receives a connection request for an encrypted protocol from a communication device (edge server 20 or attack device 40), it verifies the legitimacy of the communication device based on the communication device's certificate. That is, it checks whether the communication device possesses the desired certificate. If the communication device does not possess the desired certificate, it determines that the communication device is not legitimate and decides not to accept the connection request for the encrypted protocol. It then disconnects the communication protocol connection with the communication device. If the communication device possesses the desired certificate, it determines that the communication device is legitimate, accepts the connection request for the encrypted protocol, and establishes an encrypted protocol connection. This establishes a communication connection with the communication device.
[0053] Figure 5 shows a flowchart of an example of the processing of the control device 10A as a control method according to this embodiment. Explanations that are the same as those in the flowchart of Figure 3 are omitted as appropriate.
[0054] When the connection management unit 11A of the control device 10A receives a connection request for an encryption protocol from a communication device that established a connection for a communication protocol in step S301 (S302), it checks whether the communication device possesses the desired certificate (S303A). If the desired certificate is not possessed, a certificate error (second error) is detected, and the process proceeds to step S307. Step S307 is the same as in the first embodiment. If the communication device is the attack device 40, a certificate error is detected because it does not possess the desired certificate, and the connection for the communication protocol with the communication device is disconnected. On the other hand, if the communication device is the edge server 20, a certificate error is not detected because it possesses the desired certificate, and the process proceeds to step S304. Steps S304 onward are the same as in the first embodiment.
[0055] As described above, even if the control device 10A receives a connection request for an encrypted protocol from an attack device 40 that is not the desired communication partner, it can disconnect the communication protocol connection and quickly resolve the state of waiting for an encrypted protocol connection request from the attack device 40. As a result, when it receives a connection request for a communication protocol from the communication device 20, it can immediately start processing the connection request. For example, if the communication connection between the control device 10 and the edge server 20 is disconnected for any reason, it is possible to accept a reconnection request for a communication protocol from the communication device 20 without delay and immediately establish a communication connection with the communication device 20. Therefore, it is possible to quickly switch to controlling the controlled device 50 and maintain periodic data communication.
[0056] [Modified version of the second embodiment] By combining the second embodiment with the first embodiment, the connection management unit 11A of the control device 10A may also detect both timeout errors and certificate errors.
[0057] Figure 6 shows a flowchart of an example of the processing of the control device 10A in a modified example of the second embodiment. Step S303 in Figure 3 is added before step S303A in Figure 5. If neither a timeout error nor a certificate error is detected, the connection management unit 11A proceeds to step S304, which checks whether the number of communication connections is less than the upper limit. If either error is detected, the process proceeds to step S307, and the communication protocol connection is disconnected.
[0058] As described above, the control device 10A can quickly resolve the state of waiting for a connection request for the encrypted protocol from the attack device 40 by disconnecting the communication protocol connection as soon as either a timeout error or a certificate error is detected. This allows it to immediately start processing a connection request for the communication protocol when it is received from the communication device 20.
[0059] (Third embodiment) In the first embodiment described above, a timeout error was detected if a connection request for the encryption protocol was not received within a certain period of time, and in the second embodiment, a certificate error was detected if the attack device 40 did not possess the desired certificate. This embodiment allows the user to arbitrarily configure which type of error to detect. That is, the user can arbitrarily set the criteria for deciding whether or not to accept a connection request for the encryption protocol, and an error is detected if the criteria are not met.
[0060] Figure 7 is a block diagram showing a control device 10B according to the third embodiment. A user interface 14 is provided. The reference numeral of the connection management unit has also been changed to 11B. Elements with the same names as in Figure 1 are given the same reference numerals, and detailed explanations are omitted except for modified or extended processes.
[0061] The user interface 14 can configure the types of errors that will cause the communication protocol connection to be disconnected, based on the user's input information. By using the user interface 14, the user can set the conditions for deciding which errors will cause the communication protocol connection to be disconnected, in other words, whether or not to accept the connection request for the encrypted protocol. The user's input information is received from the user's terminal via the internet 30. The user's terminal may be located under the edge server 20 or on a different segment.
[0062] The user selects one or more error types (judgment conditions) to set in the connection management unit 11B from the first to the nth error types (where n is an integer of 2 or more). Alternatively, the user may select the target error type by specifying a value based on a predetermined value-to-error-type correspondence table and set it in the connection management unit 11B. Error types may also be set by methods other than those described above.
[0063] Figure 8 shows an example of the settings screen for user interface 14. On this screen, the user checks the box for the error type they want to use. In this example, the first error type is selected.
[0064] The connection management unit 11B determines whether an error of the type selected in the user interface 14 has been detected when waiting to receive or receiving a connection request for an encrypted protocol. For example, if the set error type is the first error type (first judgment condition), the operation of the first embodiment is performed, and if it is the second error type (second judgment condition), the operation of the second embodiment is performed. If both the first and second error types are selected, the operation of a modified version of the second embodiment is performed. Similarly, if an error type other than the first and second error types is selected, the operation corresponding to the selected error type is performed.
[0065] In this way, by allowing the user to set the error type (judgment condition) to be used, it is possible to appropriately disconnect the communication protocol connection to the attack device or prevent the establishment of a communication connection.
[0066] (Fourth embodiment) The first to third embodiments described above assume that the upper limit of communication connections used in the decision-making process in step S304 is predetermined, but the user may be allowed to set the upper limit.
[0067] Figure 9 is a block diagram showing the control device 10C according to the fourth embodiment. A user interface 14A is provided. The reference numeral for the connection management unit has also been changed to 11C. Elements with the same names as in Figure 1 are given the same reference numerals, and detailed explanations are omitted except for modified or extended processes.
[0068] The connection management unit 11C reads user-defined upper limit information from the user interface 14A and sets the upper limit for communication connections. When the connection management unit 11C determines in step S304 whether the number of communication connections is less than the upper limit, it uses the upper limit set in the user interface 14A.
[0069] Figure 10 shows an example of the settings screen for the user interface 14A. On this screen, the user sets the maximum number of communication connections for each communication device. In this example, the screen is set to a common upper limit for all communication devices, with "8" set as the upper limit. Therefore, a maximum of 8 communication connections can be established per communication device. It is also possible to change the upper limit setting for each communication device. In this case, a separate screen for setting the upper limit for each communication device should be used.
[0070] As described above, according to this embodiment, the number of communication connections can be limited for each communication device by the user setting an upper limit on the number of communication connections. This suppresses the total number of communication connections established between multiple communication devices and reduces the load on the control device. For example, it prevents a reduction in the speed at which the control device processes connection requests for communication protocols or encryption protocols.
[0071] (Fifth embodiment) Figure 11 is a block diagram showing a control device 10D according to the fifth embodiment. A connection source management unit 15 is provided. The reference numeral of the connection management unit has also been changed to 11D. Elements with the same names as in Figure 1 are given the same reference numerals, and detailed explanations are omitted except for modified or extended processes.
[0072] If the connection management unit 11D detects an error (e.g., a timeout error or a certificate error) in response to a connection request for an encrypted protocol, it obtains the hostname or Internet Protocol (IP) address of the communication device that initiated the connection using the communication protocol. The obtained hostname or address corresponds to the identification information of the communication device (attack device 40) where the error was detected.
[0073] The connection source management unit 15 stores and retains the acquired hostname or address in an attacker list. The attacker list contains the identification information of one or more attack devices. The timing for retaining the identification information of attack devices may be subject to various conditions, such as when the number of errors occurring within a certain period of time exceeds a predetermined number, or when the cumulative number of errors exceeds a predetermined number.
[0074] The attacker list may be stored in the memory area of the connection source management unit 15, or in another memory area accessible from the connection source management unit 15. The attacker list may also be made available to the connection source management unit 15 from outside the control device 10 via an Application Programming Interface (API) or the like. The attacker list may also be saved in a file or the like.
[0075] Figure 12 shows an example of an attacker list. In this example, an IP address is used as the identification information for the attacking device. Other types of identification information, such as a hostname, may also be used instead of an IP address.
[0076] When the connection management unit 11D receives a connection request for an encrypted protocol, it determines whether the identification information of the communication device that sent the connection request matches any of the identification information included in the attacker list. If there is a match, it detects a communication partner error (third error) and disconnects the connection for the communication protocol.
[0077] Furthermore, the connection management unit 11D may filter packets sent from attack devices included in the attacker list by hostname or IP address.
[0078] Furthermore, when a connection request for a communication protocol is received, the connection management unit 11D may determine whether the identification information of the communication device that sent the connection request matches any of the identification information included in the attacker list. If there is a match, it may detect a communication partner error (third error) and reject the connection request for the communication protocol (i.e., not establish a connection for the communication protocol).
[0079] It should be noted that the present invention is not limited to the embodiments described above, and the components can be modified and implemented in practice without departing from the spirit of the invention. Furthermore, various inventions can be formed by appropriately combining the multiple components disclosed in the embodiments described above. For example, a configuration in which some components are removed from all the components shown in each embodiment is also conceivable. Moreover, components described in different embodiments may be appropriately combined. [Explanation of Symbols]
[0080] 1. Control System 10 Control device 10A control device 10B Control device 10C Control Unit 10D Control Unit 11 Connection Management Department 11A Connection Management Unit 11B Connection Management Unit 11C Connection Management Unit 11D Connection Management Unit 12 Control Calculation Unit 13 Communications Department 14. User Interface 14A User Interface 15 Connection Source Management Department 20 Communication equipment 20 Edge Servers 30 Internet 40 Attack Devices 50 Controlled device
Claims
1. A communication unit that receives connection requests for communication protocols from a communication device, A connection management unit establishes a connection between the communication device and the communication protocol based on a connection request for the communication protocol, and establishes a connection between the communication device and the encryption protocol in response to the communication unit receiving a connection request for the encryption protocol from the communication device within a certain period of time after the establishment of the connection for the communication protocol. A user interface for setting conditions for deciding whether or not to accept a connection request for the encryption protocol, Equipped with, The aforementioned connection management unit, If the first determination condition is set by the user interface, and if no connection request for the encryption protocol is received from the communication device within a certain period of time after the establishment of the communication protocol connection, the connection for the communication protocol is disconnected. If the second determination condition is set by the user interface, when a connection request for the encryption protocol is received from the communication device, the legitimacy of the communication device is authenticated based on the certificate of the communication device, and if it is determined that the communication device is not legitimate, the connection for the communication protocol is disconnected. Control device.
2. When the connection of the communication protocol is disconnected because a connection request for the encryption protocol is not received within the aforementioned period of time, the system includes a connection source management unit that holds identification information of the communication device that is the source of the communication protocol connection. When the connection management unit receives a connection request for the encryption protocol from the communication device, it determines whether the identification information of the communication device matches the identification information held by the connection source management unit, and if they match, disconnects the connection for the communication protocol. The control device according to claim 1.
3. When the connection to the communication protocol is disconnected because the communication device is determined to be invalid, the system includes a connection source management unit that holds identification information of the communication device that connected to the communication protocol. When the connection management unit receives a connection request for the encryption protocol from the communication device, it determines whether the identification information of the communication device matches the identification information held by the connection source management unit, and if they match, disconnects the connection for the communication protocol. The control device according to claim 1.
4. A communication unit that receives a connection request for a communication protocol from a communication device, A connection management unit establishes a connection between the communication device and the communication protocol based on a connection request for the communication protocol, establishes a connection between the communication device and the encryption protocol if the communication unit receives a connection request for the encryption protocol from the communication device within a certain period of time after the establishment of the connection for the communication protocol, and disconnects the connection for the communication protocol if the communication unit does not receive a connection request for the encryption protocol within the certain period of time after the establishment of the connection for the communication protocol. Equipped with, The connection management unit establishes a communication connection between the communication protocol and the encryption protocol by establishing a connection for the encryption protocol, The communication unit transmits data to the communication device based on the communication connection. When the connection management unit receives a connection request for the encryption protocol from the communication device, it determines whether the number of communication connections established in the communication device has reached an upper limit, and if it has reached the upper limit, it disconnects the communication protocol connections that are waiting to be established for the encryption protocol. Control device.
5. The system includes a user interface for setting an upper limit on the number of communication connections, The connection management unit uses the upper limit set by the user interface to determine whether the number of communication connections established in the communication device has reached the upper limit. The control device according to claim 4.
6. The communication device receives a connection request for the communication protocol. Based on the connection request of the aforementioned communication protocol, a connection is established between the communication device and the aforementioned communication protocol, and in response to the receipt of a connection request for an encryption protocol within a certain period of time after the establishment of the connection of the aforementioned communication protocol, a connection is established between the communication device and the aforementioned encryption protocol. The criteria for determining whether or not to accept the connection request of the aforementioned encryption protocol are set, If the first determination condition is set, and no connection request for the encryption protocol is received from the communication device within a certain period of time after the establishment of the connection for the communication protocol, the connection for the communication protocol is disconnected. If the second judgment condition is set, when a connection request for the encryption protocol is received from the communication device, the legitimacy of the communication device is authenticated based on the certificate of the communication device, and if it is determined that the communication device is not legitimate, the connection to the communication protocol is disconnected. Control method.
7. The communication device receives a connection request for the communication protocol. Based on the connection request of the aforementioned communication protocol, a connection is established between the communication device and the aforementioned communication protocol. In response to a connection request for the encryption protocol being received within a certain period of time after the establishment of the connection for the aforementioned communication protocol, the connection between the communication device and the encryption protocol is established. If no connection request for the encryption protocol is received within a certain period of time after the establishment of the connection for the communication protocol, the connection for the communication protocol is disconnected. By establishing the connection of the encryption protocol, a communication connection based on the connection of the communication protocol and the connection of the encryption protocol is established between the communication device and the communication device. Based on the aforementioned communication connection, data is transmitted to the communication device. When a connection request for the encryption protocol is received from the communication device, it is determined whether the number of established communication connections in the communication device has reached an upper limit, and if the upper limit has been reached, the connection of the communication protocol that is waiting to be established for the encryption protocol is disconnected. Control method.