Programmable logic controller, control method, and recording medium
By generating concealed information in the PLC to replace the concealed range information, the problems of excessive PLC processing load and easy information identification are solved, thus optimizing information protection and processing load.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-26
- Publication Date
- 2026-03-27
AI Technical Summary
Existing PLCs are overloaded by frequent data read and write operations, resulting in response time delays and sequencing control delays. Furthermore, hidden information is easily identified and attacked by third parties.
By introducing an anonymization information generation unit into the PLC, anonymization information is generated and sent to replace the read object information containing anonymization range information, thereby reducing authentication processing and optimizing the information read and write process.
It effectively protects hidden information, reduces processing load, improves communication efficiency, reduces the risk of hacker attacks, and optimizes information reading and writing processes.
Smart Images

Figure CN118475931B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to a programmable logic controller, a control method, and a recording medium. BACKGROUND
[0002] In a factory, as a control device that controls a device such as a work machine, a manufacturing apparatus, or the like that automates a production process, a programmable logic controller (PLC) is used. The PLC includes a RAM that stores information related to production of a product, such as control information that indicates a device, a temperature of a material inside the device, and recipe information of a blending ratio. Therefore, for the instrument of the PLC such as the RAM, the information is periodically read out by an external device of a production monitoring system such as SCADA (Supervisory Control And Data Acquisition) for the purpose of confirming whether the production system is normally operating.
[0003] Here, in the instrument of a general PLC, know-how information of each manufacturer such as a control method of a device, a manufacturing method of a product that uses the device, or the like is also stored as the above-described information related to production. Therefore, the PLC needs to appropriately protect information such as know-how information that is intended to be concealed from a third party. As one example of the PLC as described above, a PLC that permits reading and writing of data of an instrument to a user who has successfully authenticated is disclosed in Patent Literature 1.
[0004] Patent Literature 1: International Publication No. 2014 / 016938 SUMMARY
[0005] In the PLC described in Patent Literature 1, authentication is required each time data of the instrument is read and written. Therefore, in the PLC described in Patent Literature 1, there is a problem that, for example, in a case where there are a large number of instruments as in a large-scale production system, if access that requests reading and writing of each instrument at a short cycle is requested, authentication is performed for each access, and thus the processing load of the PLC becomes large. As a result, in the PLC described in Patent Literature 1, it is possible that, for example, a response time from a request for reading and writing of data by a user to a response, that is, so-called delay becomes high, or a time required for scanning of data stored in the instrument becomes long. Further, in the PLC described in Patent Literature 1, the processing load of reading and writing data in the instrument becomes large, and thus it is possible that adverse effects such as a delay in processing of a so-called sequential control that sequentially controls a device occur.
[0006] The present application has been made in view of the above-described circumstances, and has an object to protect information intended to be concealed from a third party and to reduce a processing load.
[0007] To achieve the above object, the programmable logic controller according to the present application is capable of transmitting and receiving information with an external device. The programmable logic controller has a read request information receiving section that receives a read request information from the external device, the read request information indicating a read request for information to be read, i.e., read object information. In addition, the programmable logic controller has a concealing information generating section that generates concealing information that conceals concealing range information in a case where the read object information includes the concealing range information. Furthermore, the programmable logic controller has a response information transmitting section that transmits response information that responds to the read request information to the external device in a case where the read request information is received. The response information transmitting section transmits the read object information as the response information in a case where the read object information does not include the concealing range information, and on the other hand, transmits the read object information in which the concealing range information is replaced with the concealing information as the response information in a case where the read object information includes the concealing range information.
[0008] Effects of the Invention
[0009] According to the present application, the programmable logic controller transmits the read object information in which the concealing range information is replaced with the concealing information as the response information in a case where the read object information includes the concealing range information in a case where the read request information is received. Thus, the programmable logic controller according to the present application can protect the concealing range information from a third party even without authentication of the external device. In addition, the programmable logic controller according to the present application can reduce a processing load as compared with a programmable logic controller that performs authentication processing every time the read request information is received from the external device in order to protect the concealing range information from a third party. As a result, the programmable logic controller according to the present application can protect information intended to be concealed from a third party and reduce a processing load. BRIEF DESCRIPTION OF DRAWINGS
[0010] Figure 1 is a diagram illustrating a state in which the PLC according to Embodiment 1 is connected to an external device.
[0011] Figure 2 is a diagram illustrating a functional structure of the PLC according to Embodiment 1.
[0012] Figure 3 is a block diagram illustrating a hardware structure of the PLC according to Embodiment 1.
[0013] Figure 4 is a diagram illustrating information stored in a RAM of the PLC according to Embodiment 1.
[0014] Figure 5 is a flowchart of the concealment range decision process to which Embodiment 1 relates.
[0015] Figure 6 is a flowchart of the write control process to which Embodiment 1 relates.
[0016] Figure 7 is a flowchart of the readout control process to which Embodiment 1 relates.
[0017] Figure 8 is a continuation of the flowchart of.
[0018] Figure 9 is a timing chart when the external device reads out information from the conventional PLC.
[0019] Figure 10 is a timing chart when the external device reads out information from the PLC to which Embodiment 1 relates. DETAILED DESCRIPTION
[0020] Hereinafter, the PLC, the control method, and the program to which the embodiments for carrying out the present application relate will be described in detail with reference to the drawings. Further, the same reference numerals are assigned to the same or corresponding portions in the drawings.
[0021] [Embodiment 1]
[0022] (Regarding the PLC 100 to which Embodiment 1 relates)
[0023] The PLC 100 to which Embodiment 1 of the present application relates is, for example, a control device that controls a device such as a work machine that automates a production process in a factory, a manufacturing apparatus, and the like. As shown in Figure 1 , the PLC 100 is capable of transmitting and receiving information with the external device 200 of the production monitoring system via the Internet 300 that is one example of a communication network.
[0024] The PLC 100 stores information required for production monitoring of a product, that is, production monitoring information such as control information of the device, recipe information of a material inside the device, and the like as described above, and thus read and write of these information is frequently performed from the external device 200. For example, the external device 200 transmits write request information that indicates a write request of write target information to the PLC 100 in a case where the external device 200 wants the PLC 100 to store the write target information. In this case, the PLC 100 performs an authentication process with respect to the external device 200 if the write request information is received from the external device 200, and stores the write target information based on the write request information if the external device 200 is authenticated.
[0025] Additionally, for example, if the information to be read, i.e., the read-object information, is stored in PLC 100, external device 200 sends a read request message representing a read request for that read-object information to PLC 100. In this case, after receiving the read request message from external device 200, PLC 100 sends a response message, i.e., a response to the read request message, to external device 200. Furthermore, the read-object information may also contain information that is intended to be concealed from third parties, such as skill information. Therefore, to protect information that is intended to be concealed from third parties, PLC 100 can choose whether to perform authentication processing for external device 200 after receiving the read request message from external device 200.
[0026] like Figure 2 As shown, the PLC 100 includes an information transceiver unit 110 for transmitting and receiving information, an information processing unit 120 for processing information, and an information storage unit 130 for storing information. The information transceiver unit 110 includes a write request information receiving unit 111 for receiving write request information, a read request information receiving unit 112 for receiving read request information, and a response information sending unit 113 for sending response information.
[0027] The information processing unit 120 includes an authentication decision unit 121 that decides whether to perform authentication processing, an authentication processing unit 122 that performs authentication processing, a concealment range decision unit 123 that determines the concealment range of the written object information, and a concealment information generation unit 124 that generates concealment information. Additionally, the information processing unit 120 includes a concealment range information management unit 125 that manages concealment range information, and a read / write processing control unit 126 that controls the processing of read / write information. Furthermore, the information processing unit 120 includes a non-volatile information management unit 127 that manages information stored in a non-volatile storage device, i.e., non-volatile information, and a volatile information management unit 128 that manages information stored in a volatile storage device, i.e., volatile information.
[0028] The information storage unit 130 includes, for example, volatile storage devices such as RAM (Random Access Memory) and non-volatile storage devices such as HDD (Hard Disk Drive).
[0029] (Regarding the hardware structure of PLC 100 involved in Implementation Method 1)
[0030] like Figure 3 As shown, the PLC 100 has a control unit 51 that executes processing according to the control program 59. The control unit 51 has a CPU (Central Processing Unit). The control unit 51 functions as a control program 59. Figure 2 The information processing unit 120 shown is in operation.
[0031] Returning to Figure 3 , the PLC 100 has a main storage section 52 that loads the control program 59 and uses it as a work area of the control section 51. The main storage section 52 has a volatile storage device such as a RAM (Random Access Memory). The main storage section 52 functions as an information storage section 130 as shown in FIG. 1. Figure 2
[0032] Returning to Figure 3 , the PLC 100 has an external storage section 53 that stores the control program 59 in advance. The external storage section 53 supplies data stored by the program to the control section 51 and stores data supplied from the control section 51, in accordance with an instruction from the control section 51. The external storage section 53 has a non-volatile storage device such as a flash memory, an HDD, an SSD (Solid State Drive), and the like. The external storage section 53 functions as an information storage section 130 as shown in FIG. 1. Figure 2
[0033] Returning to Figure 3 , the PLC 100 has an operation section 54 that is operated by a user. Information input via the operation section 54 is supplied to the control section 51. The operation section 54 has an information input member such as a keyboard, a mouse, a touch panel, and the like.
[0034] In addition, the PLC 100 has a display section 55 that displays information input via the operation section 54 and information output by the control section 51. The display section 55 has a display device such as an LCD (Liquid Crystal Display), an organic EL (Electro-Luminescence) display, and the like.
[0035] In addition, the PLC 100 has a transceiver section 56 that transmits and receives information. The transceiver section 56 has an information communication member such as a communication network terminal device connected to a network, a wireless communication device, and the like. The transceiver section 56 functions as an information transceiver section 110 as shown in FIG. 1. Figure 2
[0036] Returning to Figure 3 , in the PLC 100, the main storage section 52, the external storage section 53, the operation section 54, the display section 55, and the transceiver section 56 are connected to the control section 51 via an internal bus 50.
[0037] The PLC 100 realizes a control program 59 by using the main storage section 52, the external storage section 53, the operation section 54, the display section 55, and the transceiver section 56 as resources by the control section 51. Figure 2 The functions of the above-described respective units 111 to 113, 121 to 128, and 130 are shown. For example, the PLC 100 performs the write request information reception step performed by the write request information reception unit 111. Also, for example, the PLC 100 performs the read request information reception step performed by the read request information reception unit 112, and the response information transmission step performed by the response information transmission unit 113.
[0038] Also, for example, the PLC 100 performs the authentication decision step performed by the authentication decision unit 121, and the authentication processing step performed by the authentication processing unit 122. Also, for example, the PLC 100 performs the concealment range decision step performed by the concealment range decision unit 123, and the concealment information generation step performed by the concealment information generation unit 124. Also, for example, the PLC 100 performs the concealment range information management step performed by the concealment range information management unit 125, and the read / write processing control step performed by the read / write processing control unit 126. For example, the PLC 100 performs the non-volatile information management step performed by the non-volatile information management unit 127, and the volatile information management step performed by the volatile information management unit 128.
[0039] (Details of the functional structure of the PLC 100 related to Embodiment 1)
[0040] Returning to Figure 2 , the write request information reception unit 111 receives write request information from the external device 200. Further, the write request information is, for example, information containing write target information, information capable of deciding the concealment range information contained in the write target information, and information capable of deciding whether or not to store as non-volatile information. Here, the information capable of deciding whether or not to store as non-volatile information is, for example, information capable of deciding whether or not to store as file information which is one example of non-volatile information. Also, the write request information is information further containing information used for authentication processing of the external device 200, i.e., authentication information. Further, the authentication information is, for example, information indicating a user name and a password of the external device 200.
[0041] The read request information reception unit 112 receives read request information from the external device 200. Further, the read request information is, for example, information containing information capable of deciding read target information. Further, in the case where information capable of deciding that authentication is required when the external device 200 makes a read request is acquired in advance, the read request information is information further containing the above-described authentication information.
[0042] The response information transmission unit 113 transmits response information generated by the read / write processing control unit 126 described later to the external device 200.
[0043] In a case where the write request information is received from the external device 200, the authentication decision section 121 makes a decision that the authentication process is performed. In addition, the authentication decision section 121 makes a decision whether or not the authentication process is performed based on read authentication selection information for selecting whether or not the authentication process is performed when the read request exists, in a case where the read request information is received from the external device 200. Further, the read authentication selection information is information indicating on or off of the authentication process, which is set based on an input of the use operation section 54 by the user.
[0044] In a case where the decision that the authentication process is performed is made, the authentication process section 122 performs the authentication process with respect to the external device 200. For example, the authentication process section 122 performs the authentication process with respect to the external device 200 based on authentication information included in the received write request information or read request information. Further, in the present embodiment, although the external device 200 transmits the write request information and the read request information including the authentication information, it is not limited thereto, and the authentication information and the write request information and the read request information can be transmitted separately.
[0045] In a case where the external device 200 is authenticated, the concealment range decision section 123 decides the concealment range of the write target information based on information by which the concealment range information included in the write target information can be determined. In addition, the concealment range decision section 123 outputs information indicating the decided concealment range of the write target information to the concealment range information management section 125 described later.
[0046] The concealment information generation section 124 generates concealment information by concealing the concealment range information. The concealment information generation section 124 generates the concealment information by encrypting using public key information indicating a public key of the user of the external device 200 which is acquired in advance, in a case where the read / write process control section 126 described later controls a process of writing the write target information. In addition, the concealment information generation section 124 generates the concealment information by transforming the concealment range information into information by which the concealment range information cannot be determined, that is, undeterminable information, in a case where the read / write process control section 126 controls a process of reading the read target information. Here, the undeterminable information is, for example, random number information which is information based on a random number value generated by an algorithm of generating a pseudo-random number. Further, the undeterminable information is information by which the concealment range information cannot be determined, and is not limited to the random number information, and is, for example, hash information which is information based on a hash value of the concealment range information.
[0047] The concealment range information management section 125 manages concealment range information based on information indicating the concealment range of the write target information acquired from the concealment range decision section 123. The concealment range information management section 125 determines which information among the information stored in the information storage section 130 is concealment range information.
[0048] For example, consider a case where the RAM, which is one example of a storage device that is volatile, i.e., a so-called instrument, is considered. As shown in FIG. 10, assume that the RAM stores production monitoring information that is not concealment range information in a storage area from DO to D99, stores concealment range information, i.e., skill information, in a storage area from DlOO to D299, and stores production monitoring information that is not concealment range information in a storage area from D300 to D499. In this case, the concealment range information management section 125 determines that the information stored in the storage area from DlOO to D299 is concealment range information. Figure 4
[0049] Further, in order to control as described above, the concealment range information management section 125 outputs information indicating the concealment range of the write target information to the read / write processing control section 126 before the write target information is written, and then acquires the above information from the read / write processing control section 126 after the write target information is written. As a result, for example, the concealment range information management section 125 can output information indicating whether the readout target information contains concealment range information based on the above information to the read / write processing control section 126 when the readout target information is read out, in a case where the information indicating that the readout target information can be determined is acquired from the read / write processing control section 126.
[0050] Returning to FIG. 9, Figure 2 , the read / write processing control section 126 acquires information indicating the concealment range of the write target information from the concealment range information management section 125 after authenticating the external device 200 in a case where the write request information is received from the external device 200. In addition, the read / write processing control section 126 acquires the write target information in which the concealment range information is replaced with the concealment information by causing the concealment information generation section 124 to generate the concealment information that conceals the concealment range information in a case where the write target information contains the concealment range information. In addition, the read / write processing control section 126 determines whether to store the write target information as non-volatile information based on the write request information.
[0051] In addition, the read / write processing control section 126 causes the non-volatile information management section 127 to perform writing, i.e., so-called import, of the write target information in a case where the write target information is stored as non-volatile information. On the other hand, the read / write processing control section 126 causes the volatile information management section 128 to perform import of the write target information in a case where the write target information is stored as volatile information.
[0052] In addition, the read / write processing control section 126 causes the nonvolatile information management section 127 to perform the readout of the readout target information, i.e., so-called export, in the case where the readout target information is nonvolatile information stored in the nonvolatile storage device, upon receiving the readout request information from the external device 200. On the other hand, the read / write processing control section 126 causes the volatile information management section 128 to perform the export of the readout target information in the case where the readout target information is volatile information stored in the volatile storage device. In addition, the read / write processing control section 126 outputs information capable of determining the readout target information to the concealment range information management section 125, and acquires information capable of determining whether the readout target information contains the concealment range information.
[0053] In addition, the read / write processing control section 126 generates the readout target information not containing the concealment range information as the response information, and causes the response information transmission section 113 to transmit the response information, in the case where the readout target information does not contain the concealment range information. On the other hand, the read / write processing control section 126 generates the readout target information containing the concealment range information as the response information, and causes the response information transmission section 113 to transmit the response information, in the case where the readout target information contains the concealment range information, as long as the external device 200 is authenticated. Note that the concealment range information is encrypted using the public key information.
[0054] In addition, the read / write processing control section 126 causes the concealment information generation section 124 to generate concealment information that transforms the concealment range information into indeterminate information, in the case where the readout target information contains the concealment range information, if the external device 200 is not authenticated or if a decision is made not to perform the authentication processing. Then, the read / write processing control section 126 generates the readout target information in which the concealment range information is replaced with the concealment information as the response information, and causes the response information transmission section 113 to transmit the response information.
[0055] The nonvolatile information management section 127 manages the import and export of nonvolatile information with respect to the nonvolatile storage device in the information storage section 130. The nonvolatile information management section 127 imports the write target information as nonvolatile information to the nonvolatile storage device in the case where the read / write processing control section 126 controls the processing of writing the write target information with respect to the nonvolatile storage device. In addition, the nonvolatile information management section 127 exports the readout target information as nonvolatile information from the nonvolatile storage device in the case where the read / write processing control section 126 controls the processing of reading out the readout target information from the nonvolatile storage device.
[0056] The volatile information management unit 128 manages import and export of the volatile information with respect to the volatile storage device in the information storage unit 130. The volatile information management unit 128 imports the write target information as the volatile information to the volatile storage device in a case where the read / write processing control unit 126 controls the processing of writing the write target information with respect to the volatile storage device. In addition, the volatile information management unit 128 exports the read target information as the volatile information from the volatile storage device in a case where the read / write processing control unit 126 controls the processing of reading the read target information from the volatile storage device.
[0057] (Regarding the concealment range decision processing involved in Embodiment 1)
[0058] Next, the action of the PLC 100 deciding the concealment range of the write target information will be described using a flowchart. If the power is turned on, the PLC 100 starts the execution of the concealment range decision processing illustrated in FIG. 10. First, the write request information reception unit 111 receives the write request information from the external device 200 (step S101), and the authentication decision unit 121 makes a decision on the condition of performing the authentication processing (step S102). Next, the authentication processing unit 122 performs the authentication processing with respect to the external device 200 (step S103), and the concealment range decision unit 123 determines whether or not the external device 200 is authenticated (step S104). Figure 5
[0059] The concealment range decision unit 123 ends the processing without deciding the concealment range in a case where the external device 200 is not authenticated (step S104; N). On the other hand, the concealment range decision unit 123 decides the concealment range of the write target information on the basis of the information from which the concealment range information included in the write target information can be determined in a case where the external device 200 is authenticated (step S104; Y) (step S105), and ends the processing.
[0060] (Regarding the write control processing involved in Embodiment 1)
[0061] Next, the action of the PLC 100 controlling the writing of the write target information will be described using a flowchart. If the power is turned on, the PLC 100 starts the execution of the write control processing illustrated in FIG. 11. First, the write request information reception unit 111 receives the write request information from the external device 200 (step S201), and the authentication decision unit 121 makes a decision on the condition of performing the authentication processing (step S202). Next, the authentication processing unit 122 performs the authentication processing with respect to the external device 200 (step S203), and the read / write processing control unit 126 determines whether or not the external device 200 is authenticated (step S204). Figure 6
[0062] The read / write processing control section 126 ends the processing without writing the write target information in a case where the external device 200 is not authenticated (step S204; N). On the other hand, the read / write processing control section 126 acquires information indicating the concealment range of the write target information from the concealment range information management section 125 in a case where the external device 200 is authenticated (step S204; Y), and determines whether the write target information includes the concealment range information (step S206).
[0063] The read / write processing control section 126 acquires the write target information in which the concealment range information is replaced with the concealment information in a case where the write target information includes the concealment range information (step S206; Y) by causing the concealment information generation section 124 to generate the concealment information that conceals the concealment range information. On the other hand, the read / write processing control section 126 acquires the write target information that does not include the concealment range information in a case where the write target information does not include the concealment range information (step S206; N) (step S208). Next, the read / write processing control section 126 determines whether to store the write target information as non-volatile information on the basis of the write request information (step S209).
[0064] The read / write processing control section 126 causes the non-volatile information management section 127 to perform the storage of the write target information to the non-volatile storage device, that is, the import, in a case where the write target information is stored as non-volatile information (step S209; Y), and ends the processing. On the other hand, the read / write processing control section 126 causes the volatile information management section 128 to perform the storage of the write target information to the volatile storage device, that is, the import, in a case where the write target information is stored as volatile information (step S209; N), and ends the processing.
[0065] (Regarding the Readout Control Processing Related to Embodiment 1)
[0066] Next, the operation of the PLC 100 that controls the readout of the readout target information will be described using a flowchart. If the power is turned on, the PLC 100 starts the execution of the readout control processing illustrated in FIG. 8. First, as illustrated in FIG. 8, the readout request information reception section 112 receives the readout request information from the external device 200 (step S301), and the read / write processing control section 126 determines whether the readout target information is non-volatile information on the basis of the readout request information (step S302). Figure 7 、 8 Figure 7
[0067] The read / write processing control section 126 causes the nonvolatile information management section 127 to perform acquisition (export) of the readout object information from the nonvolatile storage device in the case where the readout object information is nonvolatile information (step S302; Y). On the other hand, the read / write processing control section 126 causes the volatile information management section 128 to perform acquisition (export) of the readout object information from the volatile storage device in the case where the readout object information is volatile information (step S302; N). Next, the read / write processing control section 126 causes the authentication decision section 121 to decide whether or not to perform authentication processing based on the authentication selection information (step S305), and determines whether or not a decision to perform authentication processing has been made (step S306).
[0068] In the case where a decision to perform authentication processing has been made (step S306; Y), the read / write processing control section 126 causes the authentication processing section 122 to perform authentication processing with respect to the external device 200 (step S307), and determines whether or not the external device 200 has been authenticated (step S308). In the case where the external device 200 has not been authenticated (step S308; N), or in the case where a decision not to perform authentication processing has been made (step S306; N), the read / write processing control section 126 determines whether or not the readout object information contains the concealment range information based on the information acquired from the concealment range information management section 125, as shown in step S309. Figure 8
[0069] The read / write processing control section 126 causes the concealment information generation section 124 to transform the concealment range information into indeterminate information and generate concealment information in the case where the readout object information contains the concealment range information (step S309; Y) (step S310). Then, the read / write processing control section 126 generates readout object information in which the concealment range information has been replaced with the concealment information, i.e., response information (step S311). On the other hand, the read / write processing control section 126 generates readout object information acquired from the storage device of the information storage section 130, i.e., response information, in the case where the readout object information does not contain the concealment range information (step S309; N), or in the case where the external device 200 has been authenticated (step S308; Y) (step S312). Then, the read / write processing control section 126 causes the response information transmission section 113 to transmit the generated response information (step S313), and ends the processing.
[0070] As described above, according to the PLC 100 according to the present embodiment, the readout request information receiving section 112 receives the readout request information of the readout target information from the external device 200. In addition, the anonymization information generating section 124 generates the anonymization information that anonymizes the anonymization range information in a case where the readout target information includes the anonymization range information. In addition, the response information sending section 113 sends the readout target information as the response information in a case where the readout target information does not include the anonymization range information. On the other hand, the response information sending section 113 sends the readout target information in which the anonymization range information is replaced with the anonymization information as the response information in a case where the readout target information includes the anonymization range information.
[0071] As described above, the PLC 100 according to the present embodiment can protect the anonymization range information from the third party without performing the authentication of the external device 200, and can reduce the processing load as compared with the PLC that performs the authentication process every time the readout request information is received from the external device. As a result, the programmable logic controller according to the present invention can protect the information that is intended to be anonymized from the third party, and can reduce the processing load.
[0072] In addition, according to the PLC 100 according to the present embodiment, the authentication decision section 121 decides whether to perform the authentication process for the external device 200 in a case where the readout request information is received, and the authentication process section 122 performs the authentication process for the external device 200 in a case where the decision to perform the authentication process is made. In addition, the response information sending section 113 sends the readout target information in which the anonymization range information is replaced with the anonymization information as the response information in a case where the decision not to perform the authentication process is made and the readout target information includes the anonymization range information.
[0073] As described above, the PLC 100 according to the present embodiment can select whether to perform the authentication of the external device 200 in a case where the readout request information is received. In addition, the PLC 100 according to the present embodiment can protect the anonymization range information from the third party even when the selection not to perform the authentication is made.
[0074] Here, in the conventional PLC like the one described in Patent Literature 1, as described above, the authentication process is performed every time the readout request information is received from the external device, and the readout target information is sent as the response information. In addition, in a case where the readout target information includes the anonymization range information, the readout target information in which the anonymization range information is replaced with the anonymization information is sent as the response information. Figure 9In the case where the conventional external device reads out the information stored in the instrument in the production monitoring system shown, first, the conventional external device transmits authentication request information indicating a request to perform authentication processing. Next, the conventional PLC performs authentication processing for the conventional external device upon receipt of the request information, and authenticates the external device. Next, the authenticated conventional external device transmits readout request information. Next, the conventional PLC performs check processing of whether the readout target information contains the concealment range information upon receipt of the readout request information, and transmits response information to the conventional external device if the result of the check processing is OK. Further, in the conventional PLC, the concealment range information is not encrypted and the write target information is directly stored in the instrument. Therefore, the conventional PLC performs the check processing every time the readout request information is received in order to prevent the readout of the concealment range information from the unauthenticated external device.
[0075] For example, in the case where the instrument is the RAM shown, if the readout target information is the production monitoring information stored in the storage area from DO to D99 or the storage area from D300 to D499, the readout target information does not contain the concealment range information. Therefore, as shown in the conventional PLC, the result of the check processing is OK, the readout target information is generated as the response information, and is transmitted to the conventional external device. On the other hand, in this case, if the readout target information is the skill information stored in the storage area from DlOO to D299, the readout target information contains the concealment range information. Therefore, the conventional PLC generates check NG information indicating the condition that the result of the check processing is NG as the response information if the conventional external device is not authenticated, and transmits the check NG information to the conventional external device. Figure 4 Figure 9 Therefore, the conventional PLC has the following problem, that is, the authentication processing and the check processing are performed every time the readout of the information from the conventional external device is performed, the readout of the information is performed at a short cycle, and thus the processing load becomes large. As a result, in the conventional PLC, for example, it is likely that the delay from the receipt of the readout request information until the transmission of the response information becomes high, or the time required for the scanning of the information stored in the instrument becomes long. Further, in the conventional PLC, it is likely that the processing load of the read and write of the information in the instrument becomes large, and thus adverse effects such as the delay of the processing for the original sequence control occur.
[0076] Therefore, the conventional PLC has the following problem, that is, the authentication processing and the check processing are performed every time the readout of the information from the conventional external device is performed, the readout of the information is performed at a short cycle, and thus the processing load becomes large. As a result, in the conventional PLC, for example, it is likely that the delay from the receipt of the readout request information until the transmission of the response information becomes high, or the time required for the scanning of the information stored in the instrument becomes long. Further, in the conventional PLC, it is likely that the processing load of the read and write of the information in the instrument becomes large, and thus adverse effects such as the delay of the processing for the original sequence control occur.
[0077] Furthermore, for conventional external devices, information stored within a certain range of memory area is typically read from the device as a whole, considering communication efficiency. On the other hand, in conventional PLCs, if the information stored by the device contains hidden range information, authentication is required before reading it. Additionally, conventional PLCs sometimes contain multiple types of devices, and sometimes there is a mixture of devices whose stored information contains hidden range information and requires authentication for reading, and devices whose stored information does not contain hidden range information and does not require authentication. Therefore, in order to efficiently read information from each device, conventional external devices require separate programs for reading information from devices that do not require authentication, and separate programs for reading information from devices that require authentication.
[0078] Therefore, in the past, external devices, for example Figure 4 When the RAM reads production monitoring information as shown, it will behave as follows: Figure 9 As shown, the latter program reads production monitoring information stored in storage areas D0 to D99 and production monitoring information stored in storage areas D300 to D499 separately. In this case, the communication efficiency is worse than that of conventional PLCs, which can read information simultaneously using the former program.
[0079] Furthermore, in previous PLCs, such as Figure 9 As shown, when the read object information contains hidden scope information, if the previous external device is unauthenticated, it will send an NG (Not Authenticated) check message as a response. Therefore, if the previous external device receiving the NG check message is a malicious third-party device, the third party can identify that hidden scope information is stored in the storage area of the instrument storing the read object information. Consequently, by sending the NG check message as a response, the previous PLC imparts valuable information for the third party to steal the hidden scope information, thus potentially becoming a target for hacking.
[0080] In contrast, in the PLC 100 of this embodiment, such as Figure 10 As shown, when external device 200 reads information stored in the instrument, firstly, external device 200 does not send authentication request information, but sends read request information. Next, after receiving the read request information, PLC 100 generates response information based on the read object information, regardless of whether the read object information contains hidden scope information, and sends it to external device 200.
[0081] Accordingly, the PLC according to the present embodiment can be configured to not perform the authentication process and the check process performed by the conventional PLC each time information is read out from the external device 200. As a result, the PLC according to the present embodiment can reduce the processing load and reduce the delay from when the read request information is received until the response information is transmitted, and shorten the time required for scanning the information stored in the instrument, as compared with the conventional PLC.
[0082] Further, even if the read-out target information includes the concealment range information, the PLC 100 according to the present embodiment can transmit the read-out target information in which the concealment range information is replaced with the concealed information as the response information. Accordingly, the external device 200 can collectively read out the read-out target information without separately preparing a program for collectively reading out information from an instrument that does not require authentication and a program for separately reading out information from an instrument that requires authentication in order to efficiently read out information from each instrument.
[0083] Thus, for example, the external device 200 collectively reads out the production monitoring information stored in the storage areas from DO to D499 as illustrated in FIG. 9, as the read-out target information. Figure 4 Figure 10 Thus, for example, the external device 200 collectively reads out the production monitoring information stored in the storage areas from DO to D499 as illustrated in FIG. 9, as the read-out target information.
[0084] Further, the external device 200 receives the read-out target information in which the concealment range information is replaced with the concealed information as the response information, in a case where the read-out target information includes the concealment range information. Accordingly, even in a case where the external device 200 that receives the response information is an external device used by a malicious third party, the third party cannot identify that the read-out target information includes the concealment range information if the third party does not determine that the response information includes the concealed information. As a result, the PLC 100 according to the present embodiment does not give the third party useful information for stealing the concealment range information, and thus is less likely to become a target of hacking, as compared with the conventional PLC.
[0085] Further, according to the PLC 100 according to the present embodiment, the write request information receiving section 111 receives write request information of write-out target information from the external device 200. Further, the authentication determining section 121 determines to perform the authentication process in a case where the write request information is received, and the authentication processing section 122 performs the authentication process with respect to the external device 200. Further, the concealment range determining section 123 determines a concealment range of the write-out target information in a case where the external device 200 is authenticated. Furthermore, the information storing section 130 stores the write-out target information for which the concealment range is determined.
[0086] By the above, the PLC 100 according to the present embodiment can limit the user who can specify the obfuscation range of the write target information using the external device 200. As a result, the PLC 100 according to the present embodiment can reduce the frequency of obfuscation and can reduce the processing load, as compared with a PLC that decides the obfuscation range and performs obfuscation without performing authentication of the external device each time write request information is received.
[0087] Further, according to the PLC 100 according to the present embodiment, the obfuscation information generation section 124 generates obfuscation information by encrypting the obfuscation range information included in the write target information. Also, the information storage section 130 stores the write target information in which the obfuscation range information is replaced with the obfuscation information.
[0088] By the above, the PLC 100 according to the present embodiment can maintain the obfuscation of the information stored in the information storage section 130 even if illegal access is made from an external terminal used by a third party through, for example, a defect of the installed program, so-called vulnerability.
[0089] Further, according to the PLC 100 according to the present embodiment, in a case where the external device 200 is authenticated and the read target information includes the obfuscation range information, the read target information in which the obfuscation range information is encrypted is transmitted as response information. Also, the encrypted obfuscation range information can be decrypted in the external device 200 that transmitted the write request information including the write target information. For example, the obfuscation information generation section 124 encrypts the obfuscation range information using public key information, and on the other hand, the external device 200 decrypts the encrypted obfuscation range information using information indicating a secret key corresponding to the public key indicated by the public key information, that is, secret key information.
[0090] By the above, the PLC 100 according to the present embodiment can confirm the contents of the encrypted obfuscation range information included in the read target information only by the user of the external device 200 that writes the read target information to the PLC 100, and thus can maintain the obfuscation of the obfuscation range information.
[0091] Further, according to the PLC 100 according to the present embodiment, the information storage section 130 includes a volatile storage device. Further, the write request information receiving section 111 receives, from the external device 200, write request information of write target information to be stored in the volatile storage device. Also, the readout request information receiving section 112 receives, from the external device 200, readout request information of readout target information stored in the volatile storage device. That is, the PLC 100 according to the present embodiment is capable of reading and writing the volatile information of the volatile storage device, for example, capable of reading and writing the volatile information in units of storage areas of a RAM.
[0092] As described above, the PLC 100 according to the present embodiment is capable of, for example, appropriately protecting the information required for production monitoring of products such as the control information of the above-described apparatus, the recipe information, and the like stored in the instrument such as a RAM.
[0093] Further, according to the PLC 100 according to the present embodiment, the information storage section 130 includes a non-volatile storage device. Further, the write request information receiving section 111 receives, from the external device 200, write request information of write target information to be stored in the non-volatile storage device. Also, the readout request information receiving section 112 receives, from the external device 200, readout request information of readout target information stored in the non-volatile storage device. That is, the PLC 100 according to the present embodiment is capable of reading and writing the non-volatile information of the non-volatile storage device, for example, capable of reading and writing the non-volatile information in units of files stored in a HDD.
[0094] As described above, the PLC 100 according to the present embodiment is capable of, for example, storing and saving the information required for production monitoring of products such as the control information of the above-described apparatus, the recipe information, and the like as non-volatile file information in a HDD. As a result, the PLC 100 according to the present embodiment is capable of saving the information required for production monitoring even when the battery is depleted at the time of a power failure.
[0095] Further, according to the PLC 100 according to the present embodiment, the anonymization information generating section 124 generates anonymization information by transforming the anonymization range information included in the readout target information into indeterminable information. Also, the response information transmitting section 113 is capable of transmitting, as the response information, the readout target information in which the anonymization range information is replaced with the indeterminable information in the case where the readout target information includes the anonymization range information. That is, the PLC 100 according to the present embodiment is capable of replacing the anonymization range information included in the response information with virtual data that cannot be restored.
[0096] By doing so, the PLC 100 according to the present embodiment can reduce the processing load for the anonymization and can reduce the above-mentioned delay, as compared with a PLC that does not generate anonymized information.
[0097] [Modification Example]
[0098] Further, in the present embodiment, the PLC 100, in a case where the readout target information contains the anonymization range information, transmits the readout target information in which the anonymization range information is replaced with the indeterminate information as the response information if the external device 200 is not authenticated, but the information for the anonymization is not limited to the indeterminate information. For example, the PLC 100 can transmit the readout target information in which the anonymization range information is encrypted as the response information. By doing so, the PLC 100 can directly transmit the information stored in the information storage unit 130 as the response information. As a result, the PLC 100 can omit the process of determining whether the readout target information contains the anonymization range information, the process of generating the indeterminate information as the information for the anonymization, and the process of replacing the anonymization range information with the indeterminate information.
[0099] Further, in the present embodiment, the PLC 100, in a case where the readout target information contains the anonymization range information, transmits the readout target information in which the anonymization range information is replaced with the information for the anonymization as the response information if the external device 200 is authenticated, but the information for the anonymization is not limited to the anonymization range information. For example, the PLC 100 can transmit the readout target information in which not only the anonymization range information but also all information including information different from the anonymization range information is encrypted as the response information. In this case, it is necessary to enable the external device 200 of the production monitoring system to decrypt the received encrypted readout target information, and on the other hand, it is necessary to protect the anonymization range information from a third party so that the received encrypted readout target information cannot be decrypted in an external terminal used by the third party.
[0100] Further, in the present embodiment, the PLC 100, in a case where the readout target information contains the anonymization range information, transmits the readout target information in which the anonymization range information is replaced with the information for the anonymization as the response information if the external device 200 is authenticated, but the information for the anonymization is not limited to the anonymization range information. For example, the PLC 100 can transmit the readout target information in which not only the anonymization range information but also all information including information different from the anonymization range information is encrypted as the response information. In this case, it is necessary to enable the external device 200 of the production monitoring system to decrypt the received encrypted readout target information, and on the other hand, it is necessary to protect the anonymization range information from a third party so that the received encrypted readout target information cannot be decrypted in an external terminal used by the third party.
[0101] Further, as illustrated in the present embodiment, the PLC 100, in order to protect the concealment range information from illegal access, preferably stores, in the information storage section 130, the write target information in which the concealment range information is replaced with the concealed information, in a case where the write target information includes the concealment range information, but is not limited thereto. For example, the PLC 100 can directly store, in the information storage section 130, the write target information in which the concealment range information is not replaced with the concealed information. Even in this case, if the read target information includes the concealment range information, the PLC 100 can transmit, to the unauthenticated external device 200, the read target information in which the concealment range information is replaced with the concealed information as the response information. Further, in this case, the PLC 100 can be such that, if the external device 200 is authenticated, the read target information in which the concealment range information is not encrypted is directly transmitted as the response information. By doing so as described above, the PLC 100 can directly transmit the information stored in the information storage section 130 as the response information.
[0102] Further, in the present embodiment, the PLC 100 can select whether or not to perform the authentication of the external device 200 in a case where the read request information is received, but can not be able to select whether or not to perform the authentication of the external device 200. For example, the PLC 100 can perform the authentication of the external device 200 every time the read request information is received. For example, the PLC 100 can not perform the authentication of the external device 200 even if the read request information is received.
[0103] Further, as illustrated in the present embodiment, the PLC 100, in order to limit the user who can specify the concealment range, preferably performs the authentication of the external device 200 every time the write request information is received, but can not be always performing the authentication of the external device 200. For example, the PLC 100 can be able to select whether or not to perform the authentication of the external device 200 in a case where the write request information is received, similarly to a case where the read request information is received. Further, for example, the PLC 100 can not perform the authentication of the external device 200 even if the write request information is received.
[0104] Further, in the present embodiment, the PLC 100 performs the authentication process based on the user name and the password, but the method of the authentication process is not limited thereto. For example, a known authentication technique such as an authentication using an electronic certificate, a two-stage authentication using not only a user name and a password but also an application of a smartphone, an email, a software of a mobile terminal such as an SMS (Short Message Service) possessed by a user, a FIDO (Fast IDentity Online) authentication using biometric information such as a fingerprint and an iris, and the like can be used.
[0105] In addition, in the present embodiment, the encryption range information is encrypted using a known public key encryption algorithm, but the method of encrypting the encryption range information is not limited thereto. For example, the encryption range information can be encrypted using a known symmetric key encryption algorithm. In addition, the encryption algorithm can be any encryption algorithm as long as the user of the external device 200 can decrypt it, and for example, a non-public encryption algorithm that does not use a key can be used, which is agreed upon between the PLC 100 and the external device 200.
[0106] Further, as shown in the present embodiment, the PLC 100 preferably can read and write the file information stored in the non-volatile storage device by the external device 200 in order to save the information necessary for production monitoring as non-volatile information, but is not limited thereto. For example, the PLC 100 can read and write the information stored in the volatile storage device of the instrument by the external device 200, and on the other hand, can not be able to read and write the file information stored in the non-volatile storage device by the external device 200.
[0107] Further, the PLC 100 having the control section 51, the main storage section 52, the external storage section 53, the operation section 54, the transceiver section 56, and the internal bus 50 is a portion that becomes the center of processing, and for example, can be constituted by storing a program for executing the above-described actions in a recording medium such as a flash memory that the PLC 100 can read and installing the program, thereby constituting the PLC 100 that executes the above-described processing. In addition, the PLC 100 can be constituted by storing the program in advance in a storage device of a server device on a communication network such as a LAN or the Internet and downloading the program by the PLC 100.
[0108] In addition, in a case where the functions of the PLC 100 are realized by the sharing of an OS (Operating System) and an application program, or by the cooperative action of the OS and the application program, only the application program portion can be stored in the recording medium or the storage device.
[0109] In addition, the program can be provided via a communication network by superimposing the program on a carrier wave. For example, the program can be disclosed on a bulletin board (BBS, Bulletin Board System) on a communication network, and the program can be provided via the network. Further, the program can be executed by starting the program and executing it under the control of an OS as with other application programs, thereby executing the above-described processing.
[0110] The present application can be variously embodied and modified without departing from the broad spirit and scope of the present application. In addition, the above-described embodiments are merely illustrative of the present application and do not limit the scope of the present application. That is, the scope of the present application is not represented by the embodiments, but by the claims. And, it is considered that various modifications implemented within the scope of the claims and the meaning equivalent thereto fall within the scope of the present application.
[0111] Explanation of reference numerals
[0112] 50... internal bus, 51... control section, 52... main storage section, 53... external storage section, 54... operation section, 56... transceiver section, 59... control program, 100... PLC, 110... information transceiver section, 111... write request information receiving section, 112... read request information receiving section, 113... response information transmitting section, 120... information processing section, 121... authentication decision section, 122... authentication processing section, 123... concealment range decision section, 124... concealment information generating section, 125... concealment range information management section, 126... read / write processing control section, 127... nonvolatile information management section, 128... volatile information management section, 130... information storage section, 200... external device, 300... Internet.
Claims
1. A programmable logic controller (PLC) capable of transmitting and receiving information with external devices, wherein, This programmable logic controller has: The read request information receiving unit receives read request information from the external device, which represents a read request for information that is to be read, i.e., the read object information. The concealment information generation unit generates information that conceals the concealment range information when the read object information contains concealment range information. as well as The response information sending unit, upon receiving the read request information, sends a response information, i.e., a response to the read request information, to the external device. If the read object information corresponding to the received read request information does not contain the concealment range information, the response information sending unit sends the read object information as the response information. On the other hand, if the read object information corresponding to the received read request information contains the concealment range information, the response information sends the read object information after replacing the concealment range information with the concealment information as the response information.
2. The programmable logic controller according to claim 1, wherein, It also has: The authentication decision unit, upon receiving the read request information, decides whether to perform authentication processing for the external device; as well as The authentication processing unit, having made a decision to perform the authentication processing, performs the authentication processing for the external device. If a decision is made not to perform the authentication process, and the read object information contains the concealment range information, the response information sending unit sends the read object information after replacing the concealment range information with the concealment information as the response information.
3. The programmable logic controller according to claim 2, wherein, It also includes a write request information receiving unit, which receives write request information from the external device. This write request information represents a write request for information that is the object to be written, i.e., the write object information. Upon receiving the write request information, the authentication decision unit makes a decision to perform the authentication process. It also has: A concealment range determination unit, which, upon authenticating the external device, determines the concealment range of the written object information; and The information storage unit stores the write object information that determines the scope of concealment.
4. The programmable logic controller according to claim 3, wherein, The anonymization information generation unit generates the anonymization information by encrypting the anonymization range information contained in the written object information. The information storage unit stores the write object information after the concealment range information is replaced with the concealment information.
5. The programmable logic controller according to claim 4, wherein, When the external device is authenticated and the read object information contains the concealment range information, the response information sending unit sends the read object information encrypted with the concealment range information as the response information. The encrypted cover range information can be decrypted in the external device that sent the write request information containing the write object information, including the cover range information.
6. The programmable logic controller according to claim 3, wherein, The information storage unit includes a volatile storage device. The write request information receiving unit receives from the external device the write request information for storing the write object information in the volatile storage device. The read request information receiving unit receives the read request information of the read object information stored in the volatile storage device from the external device.
7. The programmable logic controller according to claim 3, wherein, The information storage unit includes a non-volatile storage device. The write request information receiving unit receives from the external device the write request information for storing the write object information in the non-volatile storage device. The read request information receiving unit receives the read request information of the read object information stored in the non-volatile storage device from the external device.
8. The programmable logic controller according to claim 1, wherein, The anonymization information generation unit generates the anonymization information by transforming the anonymization range information contained in the read object information into information where the anonymization range information cannot be determined, i.e., undetermined information. When the read object information contains the concealment range information, the response information sending unit sends the read object information after replacing the concealment range information with the uncertain information as the response information.
9. A control method, which is a control method for a programmable logic controller. The control method includes the following steps: In the read request information receiving step, the programmable logic controller receives read request information from an external device. This read request information represents the information of the object to be read, i.e., a read request for the information of the object to be read. The concealment information generation step involves the programmable logic controller generating information that conceals the concealment range information when the read object information contains concealment range information; and... In the response information sending step, when the programmable logic controller receives the read request information, if the read object information corresponding to the received read request information contains the concealment range information, then the programmable logic controller sends the read object information after replacing the concealment range information with the concealed information to the external device as the response information to the read request information.
10. A non-transient recording medium having a program recorded thereon and readable by a computer, the program causing a programmable logic controller to function as the following functional units: The read request information receiving unit receives read request information from an external device. This read request information represents a read request for the information to be read, i.e., the information to be read. The concealment information generation unit generates information that conceals the concealment range information when the read object information includes concealment range information; and The response information sending unit, upon receiving the read request information, if the read object information corresponding to the received read request information contains the concealment range information, then sends the read object information after replacing the concealment range information with the concealment information to the external device as response information to the read request information.
Citation Information
Patent Citations
Programmable logic controller
WO2014016938A1
Device control system, device controller, device control method, and program
CN106462694A
Information processing device, information processing method, and program
CN112654991A