Programmable logic controller, control method and program

The programmable logic controller optimizes data access by selectively authenticating and encrypting sensitive information, addressing high processing loads and security vulnerabilities in PLCs, ensuring efficient and secure data transmission.

DE112022005259B4Active Publication Date: 2025-08-07MITSUBISHI ELECTRIC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
DE112022005259
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-05-26
Publication Date
2025-08-07
Estimated Expiration
2042-05-26

AI Technical Summary

Technical Problem

Existing programmable logic controllers (PLCs) face high processing loads and latency due to frequent authentication when handling data access requests, particularly in large-scale manufacturing systems, leading to delays in sequence control and increased vulnerability to hacking.

Method used

A programmable logic controller that selectively performs authentication based on confidentiality requirements, replacing confidential information with secured forms when transmitting data to external devices, thereby reducing processing load and protecting sensitive information.

Benefits of technology

The solution reduces processing load and latency while effectively safeguarding confidential information from unauthorized access, enhancing security and efficiency in data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

A programmable logic controller (100) capable of sending information to and receiving information from an external device (200), the programmable logic controller (100) comprising: a read request information receiver (112) for receiving, from the external device (200), read request information indicating a request to read read target information, the read target information being information to be read; a secured information generator (124) for generating secured information when the read target information includes confidential information that is information to be in a confidentiality area, the secured information being the confidential information converted into a secured form; a response information transmitter (113) for transmitting response information when the read request information is received, the response information being information answering the read request information, to the external device (200); an authentication determiner (121) for determining whether authentication of the external device (200) is to be performed when the read request information is received; and an authenticator (122) for performing the authentication of the external device (200) when it is determined that the authentication is to be performed, wherein the response information transmitter (113) transmits the read target information as the response information when the read target information does not include confidential information, and transmits the read target information in which the confidential information is replaced with the secured information as the response information when the read target information includes the confidential information, and wherein the response information transmitter (113) transmits the read target information in which the confidential information is replaced with the secured information as the response information when it is determined that the authentication is not to be performed and the read target information includes the confidential information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical area

[0001] The present disclosure relates to a programmable logic controller, a control method and a program. background

[0002] In factories, programmable logic controllers (which may also be referred to herein as PLCs) are used as control devices for controlling equipment that automates manufacturing processes, such as machine tools and manufacturing fixtures. Such PLCs include random access memory (RAM) that stores information about the manufacturing of products, such as control information for the equipment and recipe information that specifies the temperature and mixing ratio of materials within the equipment. The information in the RAM or other devices included in the PLCs is therefore repeatedly read by external devices in manufacturing management systems, such as supervised control and data acquisition (SCADA), to determine whether the manufacturing systems are operating normally.

[0003] The devices in conventional PLCs also store know-how information known by manufacturers, such as a control method for devices and a manufacturing method for products using the devices, as the manufacturing information described above. PLCs are intended to appropriately protect confidential information, such as know-how information, from third parties. Patent Literature 1 describes an example of such a PLC that allows successfully authenticated users to read and write data from a device.

[0004] Patent Literature 2 discloses a communication system including a controller and a plurality of drive devices, wherein some of the drive devices communicate with the controller in an encrypted manner.

[0005] Patent Literature 3 discloses a communication system in which a maintenance computer communicates with a controller in an encrypted manner. Citation listPatent literature Patent literature 1: WO 2014 / 016 938 A1 Patent literature 2: US 2020 / 0 344 216 A1 Patent literature 3: DE 11 2012 007 242 T5 Overview of the inventionTechnical problem

[0006] The PLC described in Patent Literature 1 performs authentication each time the device data is to be read or written. For example, when the PLC described in Patent Literature 1 includes many devices, such as in a large-scale manufacturing system, the PLC may have a higher processing load for authentication performed for each access request for reading and writing to and from the devices within a short period of time. Therefore, the PLC described in Patent Literature 1 may have, for example, higher latency, or specifically, a longer response time from the time an external device used by a user requests reading and writing data to the time the PLC responds, or may have a longer time period for scanning data stored in the devices.Such a PLC described in Patent Literature 1 having a higher processing load for reading and writing data from and to the devices may also have delays in a sequence control or sequential control of the devices.

[0007] Under these circumstances, an objective of the present disclosure is to reduce the processing load while protecting confidential information from third parties. Solution to the problem

[0008] To achieve the above object, a programmable logic controller is proposed below, which has the features defined in main claim 1. Advantageous embodiments of the programmable logic controller have the features defined in subclaims 2 to 7. Furthermore, a control method is proposed, which has the features defined in independent claim 8, and a program, which has the features defined in independent claim 9. A programmable logic controller according to one aspect of the present disclosure is a controller that can send information to and receive information from an external device. The programmable logic controller includes a read request information receiver for receiving, from the external device, read request information indicating a request to read read target information. The read target information is information to be read.The programmable logic controller further includes a secure information generator for generating secure information when the read target information includes confidential information that is information to be located within a confidentiality range, wherein the secure information is the confidential information converted into a secure form. The programmable logic controller further includes a response information transmitter for transmitting response information when the read request information is received, wherein the response information is information answering the read request information, to the external device.The response information sender transmits the read target information as the response information when the read target information does not include confidential information, and transmits the read target information in which the confidential information is replaced with the secured information as the response information when the read target information includes the confidential information. Advantageous effects of the invention

[0009] The programmable logic controller according to the above aspect of the present disclosure, which receives read request information, transmits the read target information with the confidential information replaced with the secured information as response information when the read target information includes confidential information. Therefore, the programmable logic controller according to the above aspect of the present disclosure can protect the confidential information from third parties without performing authentication of external devices. The programmable logic controller according to the aspect of the present disclosure can have a lower processing load than a programmable logic controller that performs authentication each time it receives read request information from an external device, thus protecting confidential information from third parties.The programmable logic controller according to the aspect of the present disclosure can therefore reduce the processing load while protecting the confidential information from third parties. Short description of the drawings Fig. 1 is a diagram of a PLC according to Embodiment 1 connected to an external device; Fig. 2 is a diagram of the PLC according to Embodiment 1, showing the functional components; Fig. 3 is a block diagram of the PLC according to Embodiment 1, showing the hardware configuration; Fig. 4 is a diagram of information stored in a RAM included in the PLC according to Embodiment 1; Fig. 5 is a flowchart of a confidentiality area determination process in Embodiment 1; Fig. 6 is a flowchart of a write control process in Embodiment 1; Fig. 7 is a flowchart of a read control process in Embodiment 1; Fig. 8 is a flowchart showing the flowchart of Fig. 7 continues; Fig. 9 is a flowchart showing reading of information from a device in a known PLC performed by an external device; and Fig. 10 is a flowchart showing reading of information from the PLC according to Embodiment 1 performed by an external device. Description of embodiments

[0010] Hereinafter, a programmable logic controller (PLC), a control method, and a program according to one or more embodiments of the present disclosure will be described in detail with reference to the drawings. Similar reference numerals denote the same or corresponding components throughout the drawings. Embodiment 1SPS 100 according to embodiment 1

[0011] A PLC 100 according to Embodiment 1 of the present disclosure is, for example, a control device that controls devices such as machine tools and manufacturing devices that automate manufacturing processes in a factory. As shown in Fig. 1, the PLC 100 can send and receive information to and from an external device 200 in a manufacturing management system via an Internet 300, where the Internet 300 is an example of a communication network.

[0012] The PLC 100 stores production management information for managing the production of products, such as production information about the equipment described above and recipe information about materials in the equipment. The external device 200 regularly reads and writes these pieces of information from and to the PLC 100. For example, the external device 200 sends write request information indicating a request to write the write target information to the PLC 100 to prompt the PLC 100 to store the write target information to be written. In this case, upon receiving the write request information from the external device 200, the PLC 100 performs authentication of the external device 200 and, if the external device 200 is authenticated, stores the write target information based on the write request information.

[0013] For example, if the PLC 100 stores read target information to be read, the external device 200 sends read request information indicating a request to read the read target information to the PLC 100. In this case, after receiving the read request information from the external device 200, the PLC 100 sends response information that answers the read request information to the external device 200. The read target information may include information to be kept confidential to third parties, such as know-how information. To protect confidential information from third parties, the PLC 100 can select whether to perform or not perform authentication of the external device 200 after receiving the read request information from the external device 200.

[0014] As in Fig. As shown in Figure 2, the PLC 100 includes an information transceiver 110 that transmits and receives information, an information processor 120 that processes information, and an information storage 130 that stores information. The information transceiver 110 includes a write request information receiver 111 that receives write request information, a read request information receiver 112 that receives read request information, and a response information transmitter 113 that transmits response information.

[0015] The information processor 120 includes an authentication determiner 121 that determines whether authentication is required, an authenticator 122 that performs authentication, a confidentiality area determiner 123 that determines the confidentiality area of the write-target information, and a secured information generator 124 that generates secured information. The information processor 120 also includes a confidentiality area manager 125 that manages confidential information, which is information in the confidentiality area, and a read-write controller 126 that controls the reading and writing of information.The information processor 120 also includes a non-volatile information manager 127 that manages non-volatile information stored in a non-volatile storage device, and a volatile information manager 128 that manages volatile information stored in a volatile storage device.

[0016] The information storage 130 includes, for example, the volatile storage device such as a random access memory (RAM) and the non-volatile storage device such as a hard disk drive (HDD). Hardware configuration of the PLC 100 according to embodiment 1

[0017] As in Fig. 3, the PLC 100 includes a controller 51 that performs processing based on a control program 59. The controller 51 includes a central processing unit (CPU). The controller 51 functions as the Fig. 2 shown information processor 120 based on the control program 59.

[0018] Returning to Fig. 3, the PLC 100 includes a main memory 52 into which the control program 59 is loaded. The main memory 52 is used as a work area for the controller 51. The main memory 52 includes a volatile storage device, such as a RAM. The main memory 52 functions as the Fig. 2 shown information storage 130.

[0019] Returning to Fig. 3, the PLC 100 includes an external memory 53 that stores the control program 59 in advance. The external memory 53 provides the controller 51 with data stored in the program and stores data provided by the controller 51 as instructed by the controller 51. The external memory 53 includes a non-volatile storage device, such as a flash memory, an HDD, or an SSD (solid state drive). The external memory 53 functions as the Fig. 2 shown information storage 130.

[0020] Returning to Fig. 3, the PLC 100 includes an operating device 54 operable by the user. Information input via the operating device 54 is provided to the controller 51. The operating device 54 includes information input components such as a keyboard, a mouse, and a touchscreen.

[0021] The PLC 100 also includes a display 55 that displays information input via the operating device 54 and information output by the controller 51. The display 55 is, for example, a liquid crystal display (LCD) or an organic electroluminescent (EL) display.

[0022] The PLC 100 also includes a transceiver 56 that transmits and receives information. The transceiver 56 includes information communication components, such as a network terminal device or a wireless communication device, connected to a network. The transceiver 56 functions as the Fig. 2 shown information transceiver 110.

[0023] Returning to Fig. 3, it should be noted that the PLC 100, the main memory 52, the external memory 53, the operating device 54, the display 55 and the transceiver 56 are connected to the controller 51 via an internal bus 50.

[0024] The PLC 100 implements the functions of the Fig. 2, via the controller 51 using the main memory 52, the external memory 53, the operating device 54, the display 55, and the transceiver 56 as resources. For example, the PLC 100 receives write request information via the write request information receiver 111. For example, the PLC 100 receives read request information via the read request information receiver 112 and transmits response information via the response information transmitter 113.

[0025] For example, the PLC 100 determines whether authentication is to be performed via the authentication determiner 121 and performs authentication with the authenticator 122. For example, the PLC 100 determines a confidentiality area via the confidentiality area determiner 123 and generates secured information via the secured information generator 124. For example, the PLC 100 manages confidential information via the confidentiality area manager 125 and controls reading and writing via the read / write controller 126. For example, the PLC 100 manages non-volatile information via the non-volatile information manager 127 and volatile information via the volatile information manager 128.

[0026] Details of the functional components of the PLC 100 according to embodiment 1 Returning to Fig. 2, the write request information receiver 111 receives write request information from the external device 200. The write request information includes, for example, write target information, information enabling identification of confidential information included in the write target information, and information enabling determination of whether to store the write target information as non-volatile information. The information enabling determination of whether to store the write target information as non-volatile information enables, for example, determination of whether to store the information as file information, which is an example of non-volatile information. The write request information further includes authentication information used in authenticating the external device 200.The authentication information specifies, for example, the user name and password of the external device 200.

[0027] The read request information receiver 112 receives read request information from the external device 200. The read request information includes, for example, information that enables identification of the read target information. If the read request information receiver 112 acquires information in advance that enables determination that the external device 200 sending a read request is to be authenticated, the read request information further includes information for authentication described above.

[0028] The response information transmitter 113 transmits response information generated by the read-write controller 126 (described later) to the external device 200.

[0029] When write request information is received from the external device 200, the authentication determiner 121 determines that authentication is to be performed. When read request information is received from the external device 200, the authentication determiner 121 determines whether authentication is to be performed based on preset read authentication selection information for selecting whether or not to perform authentication upon a read request. The read authentication selection information indicates the on or off state of authentication, which is set based on inputs performed by the user using the operation device 54.

[0030] If it is determined that authentication is to be performed, the authenticator 122 performs the authentication of the external device 200. For example, the authenticator 122 performs the authentication of the external device 200 based on the authentication information included in the received write request information or the received read request information. In the present embodiment, the external device 200 sends write request information including authentication information or read request information including authentication information. In some embodiments, the external device 200 may send authentication information separately from the write request information or the read request information.

[0031] When the external device 200 is authenticated, the confidentiality area determiner 123 determines the confidentiality area of the write target information based on information that enables identification of confidential information included in the write target information. The confidentiality area determiner 123 outputs information indicating the determined confidentiality area of the write target information to the confidentiality area manager 125 (described later).

[0032] The secured information generator 124 generates secured information by converting the confidential information into a secured form. When the read-write controller 126 (described later) controls the writing of the write target information, the secured information generator 124 generates secured information by encrypting the write target information using pre-obtained public key information indicating the public key of the user of the external device 200. When the read-write controller 126 controls the reading of the read target information, the secured information generator 124 generates secured information by converting the confidential information into indeterminate information that prohibits identification of the confidential information.The indeterminate information is, for example, random number information based on random numbers generated using a pseudo-random number generation algorithm. The indeterminate information may be any information other than the random number information that prevents the identification of the confidential information, and may be hash information based on the hash values of the confidential information.

[0033] The confidentiality area manager 125 manages confidential information based on information indicating the confidentiality area of the write target information obtained by the confidentiality area determiner 123. The confidentiality area manager 125 identifies the confidential information based on pieces of information stored in the information storage 130.

[0034] In the above example, the volatile memory device, which is an example device, is a RAM. As in Fig. As shown in Figure 4, the RAM stores manufacturing monitoring information that is not confidential information in the memory areas from D0 to D99, know-how information that is confidential information in the memory areas from D100 to D299, and manufacturing monitoring information that is not confidential information in the memory areas from D300 to D499. In this case, the confidentiality area manager 125 identifies the information stored in the memory areas from D100 to D299 as confidential information.

[0035] To perform this control, the confidentiality area manager 125 outputs information indicating the confidentiality area of the write target information to the read-write controller 126 before the write target information is written, and then obtains the information indicating the confidentiality area from the read-write controller 126 after the write target information is written. For example, when reading read target information, the confidentiality area manager 125 can output information enabling identification of any confidential information included in the read target information to the read-write controller 126 based on the information indicating the confidentiality area when information enabling identification of the read target information is obtained from the read-write controller 126.

[0036] Returning to Fig. 2, when the write request information is received from the external device 200, the read / write controller 126, after authenticating the external device 200, obtains information indicating the confidentiality range of the write target information from the confidentiality range manager 125. If the write target information includes confidential information, the read / write controller 126 causes the secured information generator 124 to generate secured information by converting the confidential information into a secured form, and obtains the write target information in which the confidential information is replaced with the secured information. The read / write controller 126 determines whether to store the write target information as non-volatile information based on the write request information.

[0037] If the write target information is to be stored as non-volatile information, the read / write controller 126 causes the non-volatile information manager 127 to write or import the write target information. If the write target information is to be stored as volatile information, the read / write controller 126 causes the volatile information manager 128 to import the write target information.

[0038] Upon receiving read request information from the external device 200, the read / write controller 126 causes the non-volatile information manager 127 to read or export the read target information when the read target information is non-volatile information stored in the non-volatile storage device. When the read target information is volatile information stored in the volatile storage device, the read / write controller 126 causes the volatile information manager 128 to export the read target information. The read / write controller 126 outputs information enabling identification of the read target information to the confidentiality area manager 125 and obtains information enabling identification of any confidential information included in the read target information.

[0039] If the read target information does not include confidential information, the read / write controller 126 generates the read target information that does not include confidential information as response information and causes the response information transmitter 113 to transmit the response information. If the read target information includes confidential information and the external device 200 is authenticated, the read / write controller 126 generates the read target information that includes the confidential information as response information and causes the response information transmitter 113 to transmit the response information. The confidential information is encrypted using public key information.

[0040] If the read target information includes confidential information and the external device 200 is not authenticated, or it is determined that authentication is not required, the read / write controller 126 causes the secured information generator 124 to generate secured information by converting the confidential information into indeterminate information. The read / write controller 126 then generates the read target information, in which the confidential information is replaced with the secured information, as response information and causes the response information transmitter 113 to transmit the response information.

[0041] The non-volatile information manager 127 manages the import and export of non-volatile information to and from the non-volatile storage device in the information storage 130. When the read / write controller 126 controls the writing of the write target information to the non-volatile storage device, the non-volatile information manager 127 imports the write target information into the non-volatile storage device as non-volatile information. When the read / write controller 126 controls the reading of the read target information from the non-volatile storage device, the non-volatile information manager 127 exports the read target information from the non-volatile storage device as non-volatile information.

[0042] The volatile information manager 128 manages the import and export of volatile information to and from the volatile storage device in the information storage 130. When the read / write controller 126 controls the writing of the write target information to the volatile storage device, the volatile information manager 128 imports the write target information into the volatile storage device as volatile information. When the read / write controller 126 controls the reading of the read target information from the volatile storage device, the volatile information manager 128 exports the read target information as volatile information from the volatile storage device. Confidentiality area determination process in embodiment 1

[0043] The following describes the operation of the PLC 100 to determine the confidentiality area of the write target information with reference to a flowchart. When the PLC 100 is turned on, it starts the confidentiality area determination process, which is Fig. 5. The write request information receiver 111 first receives write request information from the external device 200 (step S101). The authentication determiner 121 determines that authentication is to be performed (step S102). The authenticator 122 then performs authentication of the external device 200 (step S103). The confidentiality range determiner 123 determines whether the external device 200 is authenticated (step S104).

[0044] If the external device 200 is not authenticated (N in step S104), the confidentiality area determiner 123 ends the process without determining the confidentiality area. If the external device 200 is authenticated (Y in step S104), the confidentiality area determiner 123 determines the confidentiality area of the write target information (step S105) based on information that enables identification of the confidential information included in the write target information, and ends the process. Write control process in embodiment 1

[0045] The following describes the operation of the PLC 100 to control the writing of the write target information with reference to a flowchart. When the PLC 100 is turned on, it starts the write control process, which is Fig. 6. The write request information receiver 111 first receives write request information from the external device 200 (step S201). The authentication determiner 121 determines that authentication is to be performed (step S202). The authenticator 122 then performs authentication of the external device 200 (step S203). The read / write controller 126 determines whether the external device 200 is authenticated (step S204).

[0046] If the external device 200 is not authenticated (N in step S204), the read-write controller 126 ends the process without writing the write target information. If the external device 200 is authenticated (Y in step S204), the read-write controller 126 obtains information indicating the confidentiality range of the write target information from the confidentiality range manager 125 (step S205) and determines whether the write target information includes confidential information (step S206).

[0047] If the write target information includes confidential information (Y in step S206), the read-write controller 126 causes the secured information generator 124 to generate secured information by converting the confidential information into a secured form, and obtains the write target information in which the confidential information is replaced with the secured information (step S207). If the write target information does not include confidential information (N in step S206), the read-write controller 126 obtains write target information that does not include confidential information (step S208). The read-write controller 126 then determines, based on the write request information, whether the write target information is to be stored as non-volatile information (step S209).

[0048] If the write target information is to be stored as non-volatile information (Y in step S209), the read-write controller 126 causes the non-volatile information manager 127 to store or import the write target information into the non-volatile storage device (step S210) and ends the process. If the write target information is to be stored as volatile information (N in step S209), the read-write controller 126 causes the volatile information manager 128 to store or import the write target information into the volatile storage device (step S211) and ends the process. Read control process in embodiment 1

[0049] The following describes the operation of the PLC 100 to control the reading of read target information with reference to a flowchart. When the PLC 100 is turned on, it starts the read control process, which is Fig. 7 and Fig. 8. As shown in the Fig. As shown in Figure 7, the read request information receiver 112 first receives read request information from the external device 200 (step S301). The read / write controller 126 determines whether the read target information is non-volatile information based on the read request information (step S302).

[0050] If the read target information is non-volatile information (Y in step S302), the read-write controller 126 causes the non-volatile information manager 127 to obtain or export the read target information from the non-volatile storage device (step S303). If the read target information is volatile information (N in step S302), the read-write controller 126 causes the volatile information manager 128 to obtain or export the read target information from the volatile storage device (step S304). The read-write controller 126 then causes the authentication determiner 121 to determine whether to perform authentication based on the authentication selection information (step S305) and determine whether to perform authentication (step S306).

[0051] If it is determined that authentication is to be performed (Y in step S306), the read-write controller 126 causes the authenticator 122 to perform the authentication of the external device 200 (step S307) and determines whether the external device 200 is authenticated (step S308). If the external device 200 is not authenticated (N in step S308) or if it is determined that authentication is not to be performed (N in step S306), the read-write controller 126 determines, based on information obtained from the confidentiality area manager 125, whether the read target information includes confidential information, as shown in Fig. 8 (step S309).

[0052] If the read target information includes confidential information (Y in step S309), the read-write controller 126 causes the secured information generator 124 to convert the confidential information into indeterminate information to generate secured information (step S310). The read-write controller 126 then generates response information that is the read target information in which the confidential information is replaced with the secured information (step S311). If the read target information does not include confidential information (N in step S309) or if the external device 200 is authenticated (Y in step S308), the read-write controller 126 generates response information that is the read target information acquired from the storage device in the information storage 130 (step S312).The read-write controller 126 then causes the response information transmitter 113 to transmit the generated response information (step S313) and ends the process.

[0053] As described above, in the PLC 100 according to the present embodiment, the read request information receiver 112 receives read request information for reading read target information from the external device 200. If the read request information includes confidential information, the secured information generator 124 generates secured information by converting the confidential information into a secured form. If the read target information does not include confidential information, the response information transmitter 113 transmits the read target information as response information. If the read target information includes confidential information, the response information transmitter 113 transmits the read target information with the secured information replaced with the confidential information as response information.

[0054] In the manner described above, the PLC 100 according to the present embodiment can protect confidential information from third parties without authenticating the external device 200, and can have a lower processing load than a PLC that performs authentication each time the read target information is received from an external device. The programmable logic controller according to one or more embodiments of the present disclosure can therefore reduce the processing load while protecting information that is to be treated as confidential from third parties.

[0055] In the PLC 100 according to the present embodiment, the authentication determiner 121 determines whether to perform authentication of the external device 200 upon receiving read request information. The authenticator 122 performs authentication of the external device 200 if it is determined that authentication is to be performed. If it is determined that authentication is not to be performed and the read target information includes confidential information, the response information transmitter 113 transmits, as response information, the read target information in which the confidential information is replaced with the secure information.

[0056] As described above, the PLC 100 according to the present embodiment can select whether or not to perform authentication of the external device 200 upon receiving read request information. The PLC 100 according to the present embodiment can protect confidential information from third parties even if the PLC selects not to perform authentication.

[0057] In a known PLC such as the PLC described in Patent Literature 1, in the case where a known external device in a production monitoring system reads information stored in a device as shown in Fig. 9, the known external device first receives authentication request information indicating a request for authentication. After receiving the request information, the known PLC performs authentication of the known external device and authenticates the external device. The authenticated known external device then sends read request information. After receiving the read request information, the known PLC determines whether the read target information includes confidential information. If the determination result is affirmative, the PLC sends response information to the known external device. The known PLC stores write target information in the device without encrypting confidential information. To prevent unauthenticated external devices from reading confidential information, the known PLC performs the determination each time read request information is received.

[0058] For example, in the device corresponding to the Fig. 4, the read target information is not confidential information if the read target information is the manufacturing monitoring information stored in the memory areas from D0 to D99 or from D300 to D499. In this case, as shown in the Fig. 9, confirming the determination result, the known PLC generates the read target information as response information and sends the response information to the known external device. If the read target information is the know-how information stored in the storage areas from D100 to D299, the read target information includes confidential information. Therefore, the known PLC generates negative determination information indicating that the determination result is negative as response information and sends the response information to the known external device, unless the known external device is authenticated.

[0059] The known PLC performs authentication and determination each time information is to be read by the known external device. This causes information to be read in short cycles with a higher processing load. Therefore, the known PLC may, for example, exhibit higher latency from the time the read request information is received to the time the response information is sent, or may require a longer time to scan information stored in the device. The known PLC with the higher processing load when reading and writing information from and to the devices may further cause processing delays in the PLC's control flow.

[0060] Typically, the known external device collectively reads information stored in a range of memory areas from the device to increase communication efficiency. The known PLC performs authentication before reading if the information stored in the device includes confidential information. Thus, the known PLC may include multiple device types, some storing information including confidential information requiring authentication for reading, and others storing information not including confidential information requiring authentication.To efficiently read information from each device, the known external device may use separate programs for reading information together from a device that does not involve authentication and for reading information in sections from a device that does involve authentication.

[0061] Therefore, if the known external device receives manufacturing control information from, for example, the Fig. 4, the external device uses the program to read information in sections for reading the production monitoring information stored in the memory areas from D0 to D99 and from D300 to D499 as shown in Fig. 9. In this case, the known PLC is less efficient in communication than in a case where the program is used for shared reading of information.

[0062] Furthermore, the well-known PLC sends, as in the Fig. 9, the known PLC transmits the negative determination information to the known external device as response information when the read target information includes confidential information, unless the external device is authenticated. If the known external device that receives the negative determination information as response information is used by a malicious third party, the third party may notice that confidential information is stored in the storage area of the device in which the read target information is stored. The known PLC can therefore provide the third party with information useful for stealing confidential information by sending the negative determination information as response information. The PLC may be an easy target for hacking.

[0063] In contrast, in the PLC 100 according to the present embodiment, the external device 200 for reading information stored in the device sends, as shown in the Fig. 10, first sends read request information without sending authentication request information. After receiving the read request information, the PLC 100 generates response information based on the read target information and sends the information to the external device 200, regardless of whether the read target information includes confidential information.

[0064] This allows the PLC according to the present embodiment to prevent authentication or determination from being performed, unlike the conventional PLC that performs authentication and determination each time information is to be read from the external device 200. Therefore, the PLC according to the present embodiment has a lower processing load than the conventional PLC, a lower latency from the time the read request information is received to the time the response information is sent, and a shorter time for scanning information stored in the device.

[0065] According to the present embodiment, when the read target information includes confidential information, the PLC 100 can transmit the read target information in which the confidential information is replaced with secure information as response information. Therefore, the external device 200 can efficiently read the read target information from each device without using separate programs for collectively reading information from a device without authentication and for reading information in sections from a device with authentication.

[0066] Therefore, if manufacturing control information is obtained from, for example, the Fig. 4, the external device 200 can collectively read the manufacturing monitoring information stored in the memory areas from D0 to D499 as shown in the Fig.10. Therefore, the PLC 100 according to the present embodiment can have higher communication efficiency than the conventional PLC that reads information in segments from a device with authentication.

[0067] If the read target information includes confidential information, the external device 200 receives, as response information, the read target information in which the confidential information is replaced with the secure information. Therefore, if the external device 200 receiving the response information is used by a malicious third party, the third party may not notice that the read target information includes confidential information unless they identify the secure information included in the response information. Therefore, the PLC 100 according to the present embodiment does not provide the third party with useful information for stealing the confidential information. The PLC 100 is less likely to be a hacking target than the prior art PLC.

[0068] In the PLC 100 according to the present embodiment, the write request information receiver 111 receives write request information for writing write target information from the external device 200. Upon receiving the write request information, the authentication determiner 121 determines that authentication is to be performed. The authenticator 122 performs authentication of the external device 200. If the external device 200 is authenticated, the confidentiality range determiner 123 determines the confidentiality range of the write target information. The information storage 130 stores the write target information with the determined confidentiality range.

[0069] In the manner described above, the PLC 100 according to the present embodiment can restrict the user who can specify the confidentiality range of the write target information using the external device 200. This allows the PLC 100 according to the present embodiment to convert the confidential information into a secure form less frequently and to have a lower processing load than a PLC that determines the confidentiality range and converts the information in the range into a secure form every time the PLC receives write request information without performing authentication of the external devices.

[0070] In the PLC 100 according to the present embodiment, the secured information generator 124 generates secured information by encrypting the confidential information included in the write target information. The information storage 130 stores the write target information by replacing the confidential information with the secured information.

[0071] In the manner described above, the PLC 100 according to the present embodiment can ensure the confidentiality of the information stored in the information storage 130 against any unauthorized access from external third-party devices resulting from a vulnerability, such as defects, in the installed programs.

[0072] According to the present embodiment, when the external device 200 is authenticated and the read target information includes confidential information, the PLC 100 sends the read target information in which the confidential information is encrypted as response information. The encrypted confidential information can be decrypted by the external device 200 that sent the write request information for writing the write target information including the confidential information.For example, the secured information generator 124 encrypts the confidential information using public key information, whereas the external device 200 decrypts the encrypted confidential information using private key information indicating the private key corresponding to the public key indicated by the public key information.

[0073] In the manner described above, in the PLC 100 according to the present embodiment, the user of the external device 200 that has caused the read target information to be written to the PLC 100 can decrypt the encrypted confidential information included in the read target information and identify the information in the confidentiality area. The PLC 100 can therefore maintain the confidentiality of the confidential information.

[0074] In the PLC 100 according to the present embodiment, the information storage 130 includes the volatile storage device. The write request information receiver 111 receives write request information from the external device 200 for writing write target information to the volatile storage device. The read request information receiver 112 receives read request information from the external device 200 for reading read target information stored in the volatile storage device. In other words, the PLC 100 according to the present embodiment enables reading and writing of volatile information from and to the volatile storage devices, or, for example, reading and writing of volatile information in each storage area of the RAM.

[0075] In the manner described above, the PLC 100 according to the present embodiment can appropriately protect information for monitoring the production of products, such as the device control information and recipe information described above and stored in a device such as a RAM.

[0076] In the PLC 100 according to the present embodiment, the information storage 130 includes the non-volatile storage device. The write request information receiver 111 receives write request information from the external device 200 for writing write target information to the non-volatile storage device. The read request information receiver 112 receives read request information from the external device 200 for reading read target information stored in the non-volatile storage device. In other words, the PLC 100 according to the present embodiment enables reading and writing of non-volatile information from and to the non-volatile storage devices, or, for example, reading and writing of non-volatile information in each file stored in, for example, an HDD.

[0077] In the manner described above, the PLC 100 according to the present embodiment can store and back up information for monitoring product production, such as the device control information and recipe information described above, as non-volatile file information in the HDD. Thus, the PLC 100 according to the present embodiment can back up information for monitoring production during, for example, any power outage that results in a dead battery.

[0078] In the PLC 100 according to the present embodiment, the secured information generator 124 generates secured information by converting the confidential information included in the read target information into indeterminate information. If the read target information includes confidential information, the response information transmitter 113 may transmit, as response information, the read target information in which the confidential information is replaced with indeterminate information. In other words, the PLC 100 according to the present embodiment may replace the confidential information included in the response information with unreconstructable dummy data.

[0079] In the manner described above, the PLC 100 according to the present embodiment can have a lower processing load for converting confidential information into a secured form and have a lower latency than a PLC that does not convert the secured information by converting the confidential information into indeterminate information. Variations

[0080] In the above embodiment, when the read target information includes confidential information, the PLC 100 transmits the read target information in which the confidential information is replaced with unspecified information as response information, unless the external device 200 is authenticated. The secured information is not limited to unspecified information. For example, the PLC 100 may transmit the read target information in which the confidential information is encrypted as response information. In this case, the PLC 100 may use the information stored in the information storage 130 as response information without processing the information.The PLC 100 can therefore skip the processes of determining whether the read target information includes confidential information, generating undetermined information as secured information, and replacing the confidential information with the undetermined information.

[0081] In the above embodiment, when the read target information includes confidential information, the PLC 100 transmits the read target information in which the confidential information is replaced with the secured information as response information, unless the external device 200 is authenticated. The information to be converted into a secure form is not limited to confidential information. For example, the PLC 100 may transmit, as response information, read target information in which all information items are encrypted, including confidential information and information other than the confidential information.In this case, the external device 200 in the production monitoring system can decrypt the received encrypted read target information, whereas decryption of the received encrypted read target information by an external device used by a third party is prevented in order to protect the confidential information from the third party.

[0082] In the above embodiment, when the read target information includes confidential information, the PLC 100 transmits the information stored in the information storage 130 as response information when the external device 200 is authenticated. The response information transmitted when the external device 200 is authenticated is not limited to the information stored in the information storage 130. For example, the PLC 100 may transmit, as response information, read target information in which the encrypted confidential information is replaced with decrypted confidential information. To perform such control, the PLC 100 may decrypt encrypted confidential information.

[0083] To protect confidential information from unauthorized access, the PLC 100 may, as in the above embodiment, store the write target information in the information storage 130, in which the confidential information is replaced with secured information, when the write target information includes confidential information. However, the write target information may be stored in a different manner. For example, the PLC 100 may store the write target information in the information storage 130 without replacing the confidential information with secured information. In this case, too, the PLC 100 may send the read target information in which the confidential information is replaced with secured information to the unauthenticated external device 200 as response information when the read target information includes confidential information.In this case, if the external device is authenticated, the PLC 100 can send the read target information as response information without encrypting the confidential information. In this case, the PLC 100 can use the information stored in the information storage 130 as response information without processing the information.

[0084] In the above embodiment, the PLC 100 receiving read request information can choose between performing and not performing authentication of the external device 200. In some embodiments, the PLC 100 cannot choose between performing and not performing authentication of the external device 200. For example, the PLC 100 can perform authentication of the external device 200 every time the read request information is received. For example, the PLC 100 can also not perform authentication of the external device 200 upon receiving the read request information.

[0085] Although the PLC 100 may perform authentication of the external device 200 each time write request information is received to restrict the user who can specify the confidentiality range, as described in the above embodiment, the PLC may not perform authentication of the external device 200 each time write request information is received. For example, the PLC 100 may select whether or not to perform authentication of the external device 200 when write request information is received, as well as when read request information is received. For example, the PLC 100 may not perform authentication of the external device 200 upon receipt of the write request information.

[0086] In the above embodiment, the PLC 100 performs authentication using a username and password. In some embodiments, authentication may be performed in a different manner. For example, the PLC 100 may use known authentication techniques, such as authentication using digital certificates, two-factor authentication using software on the user's mobile device, such as smartphone applications, email, and SMS (short message service), as well as the username and password, and FIDO (FIDO: Fast Identity Online) authentication using biometric information, such as fingerprints and the iris.

[0087] In the above embodiment, confidential information is encrypted using a known public-key cryptographic algorithm. In some embodiments, the confidential information may be encrypted in a different way. For example, the confidential information may be encrypted using a known symmetric-key cryptographic algorithm. Any cryptographic algorithm that allows the user of the external device 200 to decrypt the information may be used, such as a private cryptographic algorithm that does not use a key agreed upon between the PLC 100 and the external device 200.

[0088] As with the above embodiment, the PLC 100 may store file information in the non-volatile storage device such that it is readable and writable by the external device 200 to save production monitoring information as non-volatile information. In some embodiments, the PLC 100 may store file information in a different manner. For example, the PLC 100 may allow the external device 200 to read and write non-volatile information stored in the device, while not allowing the external device 200 to read and write file information stored in the non-volatile storage device.

[0089] The main part of the PLC 100, which includes the controller 51, the main memory 52, the external memory 53, the operating device 54, the transceiver 56, and the internal bus 50, can be implemented by installing the program for the above operation, which is stored and distributed in a non-volatile storage medium readable by the PLC 100, such as a flash memory. This enables the PLC 100 to perform the processes described above. Such a program can be stored in a storage device included in a server device in a communication network, such as a local area network (LAN) or the Internet, and can be downloaded by the PLC 100 to implement the functions of the PLC 100.

[0090] The functions of the PLC 100 can be implemented partially by the operating system (OS) and partially by an application program, or through cooperation between the OS and the application program. In this case, functions executable by the application program, which is separate from the OS, can be stored in a non-volatile storage medium or storage device.

[0091] The program may also be superimposed on a carrier wave delivered over a communications network. For example, the program may be published on a bulletin board system (BBS) in a communications network for delivery over the network. The above processes can be performed by starting the program and executing it under the control of the operating system in the same way as any other application program.

[0092] Some exemplary embodiments are described above for illustrative purposes. Although the foregoing discussion has presented specific embodiments, those skilled in the art will recognize that changes may be made in form and detail without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. This detailed description, therefore, is not to be taken in a limiting sense, and the scope of the invention is defined only by the appended claims, along with the full breadth of equivalents encompassed by such claims. List of reference symbols 50 internal bus 51 Control 52 main memory 53 external storage 54 Operating device 56 transceivers 59 Control program 100 PLC 110 information transceivers 111 Write request information recipient 112 Read request information recipients 113 Response information transmitter 120 Information processor 121 Authentication determiners 122 Authenticator 123 Confidentiality Area Determiner 124 Secured Information Producers 125 confidentiality area managers 126 Read-write control 127 Non-volatile Information Manager 128 managers for volatile information 130 information storage 200 external device 300 Internet

Claims

[1] A programmable logic controller (100) capable of sending information to and receiving information from an external device (200), the programmable logic controller (100) comprising: a read request information receiver (112) for receiving, from the external device (200), read request information indicating a request to read read target information, the read target information being information to be read; a secured information generator (124) for generating secured information when the read target information includes confidential information that is information to be in a confidentiality area, the secured information being the confidential information converted into a secured form; a response information transmitter (113) for transmitting response information when the read request information is received, the response information being information answering the read request information, to the external device (200); an authentication determiner (121) for determining whether authentication of the external device (200) is to be performed when the read request information is received; and an authenticator (122) for performing the authentication of the external device (200) when it is determined that the authentication is to be performed, wherein the response information transmitter (113) transmits the read target information as the response information when the read target information does not include confidential information, and transmits the read target information in which the confidential information is replaced with the secured information as the response information when the read target information includes the confidential information, and wherein the response information transmitter (113) transmits the read target information in which the confidential information is replaced with the secured information as the response information when it is determined that the authentication is not to be performed and the read target information includes the confidential information. [2] The programmable logic controller (100) of claim 1, further comprising: a write request information receiver (111) for receiving, from the external device (200), write request information indicating a request to write write target information, the write target information being information to be written, wherein the authentication determiner (121) determines that the authentication is to be performed when the write request information is received; a confidentiality area determiner (123) for determining the confidentiality area of the write target information when the external device (200) is authenticated; and an information storage (130) for storing the write target information with the determined confidentiality range. [3] Programmable logic controller (100) according to claim 2, wherein the secured information generator (124) generates the secured information by encrypting the confidential information included in the write target information, and wherein the information storage (130) stores the write target information in which the confidential information is replaced with the secured information. [4] Programmable logic controller (100) according to claim 3, wherein the response information transmitter (113) transmits the read target information in which the confidential information is encrypted as the response information when the external device (200) is authenticated and the read target information includes the confidential information, and wherein the encrypted confidential information is decryptable by the external device (200) that sent the write request information for writing the write target information including the confidential information. [5] Programmable logic controller (100) according to claim 2, wherein the information storage (130) comprises a volatile storage device, wherein the write request information receiver (111) receives the write request information for writing the write target information into the volatile memory device from the external device (200), and wherein the read request information receiver (112) receives the read request information for reading the read target information stored in the volatile storage device from the external device (200). [6] Programmable logic controller (100) according to claim 2, wherein the information storage (130) comprises a non-volatile storage device, wherein the write request information receiver (111) receives the write request information for writing the write target information into the non-volatile memory device from the external device (200), and wherein the read request information receiver (112) receives the read request information for reading the read target information stored in the non-volatile memory device from the external device (200). [7] Programmable logic controller (100) according to claim 1, wherein the secured information generator (124) generates the secured information by converting the confidential information included in the read target information into indeterminate information, thereby preventing identification of the confidential information, and wherein the response information transmitter (113) transmits the read target information in which the confidential information is replaced with the indeterminate information as the response information when the read target information includes the confidential information. [8] A control method for a programmable logic controller (100), the control method comprising: Receiving read request information from an external device (200) by the programmable logic controller (100), the read request information indicating a request to read read target information, the read target information being information to be read; generating secured information by the programmable logic controller (100) when the read target information includes confidential information that is information to be located in a confidentiality area, the secured information being the confidential information converted into a secured form; Determining by the programmable logic controller (100) whether to perform authentication of the external device (200) when the read request information is received; and Performing the authentication of the external device (200) by the programmable logic controller (100) when it is determined that the authentication is to be performed; and Sending, by the programmable logic controller (100), read target information in which the confidential information is replaced with the secured information to the external device (200) as response information when the programmable logic controller (100) receives the read request information and the read target information includes the confidential information, the response information being information answering the read request information, wherein the read target information in which the confidential information is replaced with the secured information is sent as the response information when it is determined that the authentication is not to be performed and the read target information includes the confidential information. [9] Program for causing a programmable logic controller (100) to act as: a read request information receiver (112) for receiving, from an external device (200), read request information indicating a request to read read target information, the read target information being information to be read; a secured information generator (124) for generating secured information when the read target information includes confidential information that is information to be in a confidentiality area, the secured information being the confidential information converted into a secured form; an authentication determiner (121) for determining whether authentication of the external device (200) is to be performed when the read request information is received; and an authenticator (122) for performing the authentication of the external device (200) when it is determined that the authentication is to be performed; and a response information transmitter (113) for transmitting the read target information in which the confidential information is replaced with the secured information as response information to the external device (200) when the read request information is received and the read target information includes the confidential information, the response information being information answering the read request information, wherein the response information transmitter (113) transmits the read target information in which the confidential information is replaced with the secured information as the response information when it is determined that the authentication is not to be performed and the read target information includes the confidential information.

Citation Information

Patent Citations

  • Tax system, program transfer device, authentication server, program protection method, program transfer method, and program for program transfer device

    DE112012007242T5

  • Communication system, communication method, and information storage medium

    US20200344216A1