WO2023228373A1 - プログラマブルロジックコントローラ、制御方法及びプログラム - Google Patents

プログラマブルロジックコントローラ、制御方法及びプログラム Download PDF

Info

Publication number
WO2023228373A1
WO2023228373A1 PCT/JP2022/021611 JP2022021611W WO2023228373A1 WO 2023228373 A1 WO2023228373 A1 WO 2023228373A1 JP 2022021611 W JP2022021611 W JP 2022021611W WO 2023228373 A1 WO2023228373 A1 WO 2023228373A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
read
concealment
external device
write
Prior art date
Application number
PCT/JP2022/021611
Other languages
English (en)
French (fr)
Inventor
伴彰 ▲高▼木
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2022/021611 priority Critical patent/WO2023228373A1/ja
Priority to JP2022558352A priority patent/JP7221462B1/ja
Publication of WO2023228373A1 publication Critical patent/WO2023228373A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules

Definitions

  • the present disclosure relates to a programmable logic controller, a control method, and a program.
  • PLCs programmable logic controllers
  • the PLC includes a RAM (Random Access Memory) that stores information regarding product production, such as device control information and recipe information indicating the temperature and blending ratio of materials inside the device.
  • RAM Random Access Memory
  • SCADA Supervisory Control And Data Acquisition
  • Patent Document 1 discloses a PLC that allows a user who has been successfully authenticated to read and write data on a device.
  • the PLC described in Patent Document 1 requires authentication every time data is read or written from a device. For this reason, in the PLC described in Patent Document 1, for example, when a large-scale production system includes a large number of devices, if each device has access that requires reading and writing in short cycles, authentication is required for each access. There is a problem in that doing so increases the processing load on the PLC. As a result, in the PLC described in Patent Document 1, for example, the response time from when an external device used by a user requests data read/write until the response is received, so-called latency, increases, and the data stored in the device increases. There is a possibility that the time required for scanning may become longer. Furthermore, in the PLC described in Patent Document 1, the processing load of reading and writing data on the device increases, which may have an adverse effect such as delaying the processing of so-called sequence control, which controls the original devices in order. .
  • the present disclosure has been made in view of the above circumstances, and aims to reduce processing load while protecting information that should be kept secret from third parties.
  • the programmable logic controller is capable of transmitting and receiving information to and from external devices.
  • the programmable logic controller includes a read request information receiving unit that receives read request information indicating a read request for read target information, which is information to be read, from an external device.
  • the programmable logic controller includes a concealed information generation unit that generates concealed information that is information obtained by concealing concealed range information when the read target information includes concealed range information that is concealed range information.
  • the programmable logic controller also includes a response information transmitter that transmits response information, which is information in response to the read request information, to an external device when the programmable logic controller receives the read request information.
  • the response information transmitter transmits the read target information as response information when the read target information does not include the concealed range information, and transmits the read target information as the response information when the read target information includes concealed range information.
  • Send read target information whose information has been replaced with anonymized information.
  • the programmable logic controller when the programmable logic controller receives read request information, if the read target information includes concealment range information, the programmable logic controller sends the read target information in which the concealment range information has been replaced with concealed information as response information. Send. Therefore, the programmable logic controller according to the present disclosure can protect confidential range information from a third party without authenticating an external device. Further, the programmable logic controller according to the present disclosure can reduce the processing load compared to a programmable logic controller that performs authentication processing every time read request information is received from an external device in order to protect confidential range information from a third party. As a result, the programmable logic controller according to the present disclosure can reduce processing load while protecting information that is desired to be kept secret from third parties.
  • PLC 100 according to Embodiment 1 of the present disclosure is, for example, a control device that controls equipment such as machine tools and manufacturing equipment that automate production processes in a factory. As shown in FIG. 1, the PLC 100 is capable of transmitting and receiving information to and from an external device 200 of the production monitoring system via the Internet 300, which is an example of a communication network.
  • the PLC 100 Since the PLC 100 stores production monitoring information that is necessary for monitoring product production, such as the above-mentioned device control information and recipe information for materials inside the device, this information is frequently read and written from the external device 200. is being carried out. For example, when the external device 200 wants to store write target information, which is information to be written, in the PLC 100, it transmits write request information indicating a write request for the write target information to the PLC 100. In this case, upon receiving the write request information from the external device 200, the PLC 100 performs authentication processing on the external device 200, and when the external device 200 is authenticated, stores write target information based on the write request information.
  • the external device 200 transmits read request information indicating a read request for the read target information to the PLC 100.
  • the PLC 100 transmits response information that is information in response to the read request information to the external device 200.
  • the information to be read may also include information such as know-how information that should be kept secret from third parties. Therefore, in order to protect information that is desired to be kept secret from third parties, the PLC 100 can select whether or not to perform authentication processing for the external device 200 after receiving the read request information from the external device 200. .
  • the PLC 100 includes an information transmitting/receiving section 110 that transmits and receives information, an information processing section 120 that processes information, and an information storage section 130 that stores information.
  • the information transmitting/receiving unit 110 includes a write request information receiving unit 111 that receives write request information, a read request information receiving unit 112 that receives read request information, and a response information transmitting unit 113 that transmits response information.
  • the information processing unit 120 includes an authentication determination unit 121 that determines whether to perform authentication processing, an authentication processing unit 122 that performs authentication processing, a concealment range determination unit 123 that determines a concealment range of information to be written, and generates concealed information.
  • the anonymization information generation unit 124 includes a concealment information generation unit 124 that generates information.
  • the information processing section 120 also includes a concealment range information management section 125 that manages concealment range information that is information on the concealment range, and a read/write processing control section 126 that controls processing for reading and writing information.
  • the information processing unit 120 also includes a nonvolatile information management unit 127 that manages nonvolatile information that is information stored in a nonvolatile storage device, and a nonvolatile information management unit 127 that manages volatile information that is information stored in a volatile storage device.
  • a volatile information management unit 128 is included.
  • the information storage unit 130 includes, for example, a volatile storage device such as a RAM (Random Access Memory) and a nonvolatile storage device such as an HDD (Hard Disk Drive).
  • a volatile storage device such as a RAM (Random Access Memory)
  • a nonvolatile storage device such as an HDD (Hard Disk Drive).
  • the PLC 100 includes a control unit 51 that executes processing according to a control program 59.
  • the control unit 51 includes a CPU (Central Processing Unit).
  • the control section 51 functions as the information processing section 120 shown in FIG. 2 according to the control program 59.
  • the PLC 100 includes a main storage unit 52 that loads a control program 59 and is used as a work area for the control unit 51.
  • the main storage unit 52 includes a volatile storage device such as RAM (Random Access Memory).
  • the main storage section 52 functions as the information storage section 130 shown in FIG.
  • the PLC 100 includes an external storage section 53 that stores a control program 59 in advance.
  • the external storage section 53 supplies the data stored by this program to the control section 51 according to instructions from the control section 51, and stores the data supplied from the control section 51.
  • the external storage unit 53 includes a nonvolatile storage device such as a flash memory, an HDD, and a solid state drive (SSD).
  • the external storage section 53 functions as the information storage section 130 shown in FIG.
  • the PLC 100 includes an operation unit 54 that is operated by the user.
  • the input information is supplied to the control section 51 via the operation section 54 .
  • the operation unit 54 includes information input components such as a keyboard, a mouse, and a touch panel.
  • the PLC 100 includes a display unit 55 that displays information input via the operation unit 54 and information output by the control unit 51.
  • the display unit 55 includes a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
  • the PLC 100 includes a transmitting/receiving section 56 that transmits and receives information.
  • the transmitting/receiving unit 56 includes information communication components such as a communication network termination device and a wireless communication device connected to the network.
  • the transmitter/receiver 56 functions as the information transmitter/receiver 110 shown in FIG.
  • the main storage section 52, external storage section 53, operation section 54, display section 55, and transmission/reception section 56 are all connected to the control section 51 via the internal bus 50.
  • the control section 51 uses the main storage section 52, the external storage section 53, the operation section 54, the display section 55, and the transmission/reception section 56 as resources, so that the above-mentioned sections 111 to 113, 121 to 128, shown in FIG. It realizes 130 functions.
  • the PLC 100 executes a write request information receiving step performed by the write request information receiving unit 111.
  • the PLC 100 executes a read request information receiving step performed by the read request information receiving unit 112 and a response information transmitting step performed by the response information transmitting unit 113 that transmits response information.
  • the PLC 100 executes an authentication determining step performed by the authentication determining unit 121 and an authentication processing step performed by the authentication processing unit 122. Further, for example, the PLC 100 executes a concealment range determining step performed by the concealment range determination section 123 and a concealed information generation step performed by the concealed information generation section 124. Further, for example, the PLC 100 executes a concealment range information management step performed by the concealment range information management section 125 and a read/write processing control step performed by the read/write processing control section 126. Further, for example, the PLC 100 executes a nonvolatile information management step performed by the nonvolatile information management unit 127 and a volatile information management step performed by the volatile information management unit 128.
  • the write request information receiving unit 111 receives write request information from the external device 200.
  • the write request information is, for example, information that includes write target information, information that allows identification of concealment range information included in the write target information, and information that allows identification of whether or not to be stored as nonvolatile information.
  • the information that can specify whether or not to be stored as nonvolatile information is, for example, information that can specify whether or not to be stored as file information as an example of nonvolatile information.
  • the write request information is information that further includes authentication information that is information used for authentication processing for the external device 200.
  • the authentication information is, for example, information indicating the user name and password of the external device 200.
  • the read request information receiving unit 112 receives read request information from the external device 200.
  • the read request information is, for example, information that includes information that allows the information to be read to be specified.
  • the read request information is information that further includes the above-mentioned authentication information.
  • the response information transmitter 113 transmits response information generated by the read/write processing controller 126, which will be described later, to the external device 200.
  • the authentication determining unit 121 When the authentication determining unit 121 receives write request information from the external device 200, it determines to perform authentication processing. Further, when receiving read request information from the external device 200, the authentication determining unit 121 selects read authentication selection information for selecting whether or not to perform authentication processing when there is a preset read request. , determines whether or not to perform authentication processing. Note that the read authentication selection information is information indicating whether or not the authentication processing is set based on the input by the user using the operation unit 54.
  • the authentication processing unit 122 performs authentication processing on the external device 200 when it is determined to perform authentication processing. For example, the authentication processing unit 122 performs authentication processing on the external device 200 based on authentication information included in the received write request information or read request information. Note that in this embodiment, external device 200 transmits write request information and read request information that include authentication information; however, the present invention is not limited to this, and external device 200 transmits authentication information, write request information, and read request information. and may be sent separately.
  • the concealment range determination unit 123 determines the concealment range of the write target information from information that allows identification of the concealment range information included in the write target information. Further, the concealment range determining section 123 outputs information indicating the determined concealment range of the writing target information to the concealment range information management section 125, which will be described later.
  • the anonymization information generation unit 124 generates anonymization information by anonymizing the anonymity range information.
  • the anonymization information generation section 124 performs encryption using public key information that is information indicating the public key of the user of the external device 200 acquired in advance. Generate anonymized information by Further, when the read/write processing control unit 126 controls the process of reading out the read target information, the anonymization information generation unit 124 converts the concealment range information into unspecified information that is information that makes the concealment range information unidentifiable. Generate anonymized information using .
  • the unspecified information is, for example, random number information that is information based on random numbers generated by an algorithm that generates pseudo-random numbers. Note that the unspecified information is not limited to random number information as long as the confidential range information is information that cannot be specified, and may be hash information that is information based on the hash value of the confidential range information, for example.
  • the concealment range information management section 125 manages the concealment range information based on the information indicating the concealment range of the writing target information obtained from the concealment range determination section 123.
  • the concealment range information management section 125 specifies which information among the information stored in the information storage section 130 is concealment range information.
  • a RAM as an example of a volatile storage device, a so-called device.
  • production monitoring information which is not confidential range information
  • know-how information which is confidential range information
  • the concealment range information management unit 125 specifies that the information stored in the storage areas D100 to D299 is concealment range information.
  • the concealment range information management unit 125 outputs information indicating the concealment range of the write target information to the read/write processing control unit 126 before the write target information is written, and then outputs information indicating the concealment range of the write target information. After being written, the above-mentioned information is acquired from the read/write processing control unit 126.
  • the concealment range information management unit 125 acquires information that can identify the read target information from the read/write processing control unit 126 when reading the read target information
  • the concealment range information management unit 125 conceals the read target information based on the above-mentioned information.
  • Information that can specify whether or not range information is included can be output to the read/write processing control unit 126.
  • the read/write processing control unit 126 when the read/write processing control unit 126 receives write request information from the external device 200 and after the external device 200 is authenticated, the read/write processing control unit 126 receives information indicating the confidentiality range of the write target information from the confidentiality range information management unit 125. get. Further, when the writing target information includes concealment range information, the read/write processing control unit 126 conceals the concealment range information by causing the concealment information generation unit 124 to generate concealment information that conceals the concealment range information. Obtain the writing target information replaced with the information. Further, the read/write processing control unit 126 specifies whether or not the write target information is to be stored as non-volatile information based on the write request information.
  • the read/write processing control unit 126 when storing the write target information as nonvolatile information, causes the nonvolatile information management unit 127 to write the write target information, so-called import. On the other hand, when storing the write target information as volatile information, the read/write processing control unit 126 causes the volatile information management unit 128 to import the write target information.
  • the read/write processing control unit 126 when the read/write processing control unit 126 receives read request information from the external device 200 and the read target information is non-volatile information stored in a non-volatile storage device, the read/write processing control unit 126 causes the non-volatile information management unit 127 to read out the read request information from the external device 200. The target information is read out, so-called exported.
  • the read/write processing control unit 126 when the read target information is volatile information stored in a volatile storage device, the read/write processing control unit 126 causes the volatile information management unit 128 to export the read target information.
  • the read/write processing control unit 126 outputs information that allows identification of read target information to the concealment range information management unit 125, and acquires information that enables identification of whether or not the read target information includes concealment range information. do.
  • the read/write processing control unit 126 when the read target information does not include concealment range information, the read/write processing control unit 126 generates read target information that does not include the concealment range information as response information, and causes the response information transmitting unit 113 to transmit the response information.
  • the readout target information includes concealment range information
  • the readout processing control unit 126 when the external device 200 is authenticated, the readout processing control unit 126 generates the readout target information including the concealment range information as response information and responds.
  • the information transmitter 113 is caused to transmit the response information.
  • the concealment range information is encrypted using public key information.
  • the reading target information includes concealment range information
  • the anonymizing information generation unit 124 is caused to generate anonymizing information in which the anonymizing range information is converted into non-identifiable information.
  • the read/write processing control unit 126 generates read target information in which the concealment range information is replaced with concealed information as response information, and causes the response information transmitting unit 113 to transmit the response information.
  • the non-volatile information management unit 127 manages the import and export of volatile information to and from a non-volatile storage device in the information storage unit 130.
  • the nonvolatile information management unit 127 imports the write target information as nonvolatile information into the nonvolatile storage device when the read/write processing control unit 126 controls the process of writing the write target information to the nonvolatile storage device. .
  • the nonvolatile information management unit 127 exports the read target information as nonvolatile information from the nonvolatile storage device. .
  • the volatile information management unit 128 manages the import and export of volatile information to and from a volatile storage device in the information storage unit 130.
  • the volatile information management unit 128 imports the write target information as volatile information into the volatile storage device when the read/write processing control unit 126 controls the process of writing the write target information into the volatile storage device. . Further, when the read/write processing control unit 126 controls the process of reading out the read target information from the volatile storage device, the volatile information management unit 128 exports the read target information as volatile information from the volatile storage device. .
  • the PLC 100 determines the concealment range of write target information.
  • the PLC 100 When the PLC 100 is powered on, it starts executing the concealment range determination process shown in FIG. 5 .
  • the write request information receiving unit 111 receives write request information from the external device 200 (step S101), and the authentication determining unit 121 determines to perform authentication processing (step S102).
  • the authentication processing unit 122 performs authentication processing on the external device 200 (step S103), and the concealment range determining unit 123 determines whether the external device 200 is authenticated (step S104).
  • step S104; N the concealment range determining unit 123 ends the process without determining the concealment range.
  • step S104; Y the concealment range determination unit 123 determines the concealment range of the write target information from information that allows identification of the concealment range information included in the write target information (step S104; Y). S105), the process ends.
  • the write request information receiving unit 111 receives write request information from the external device 200 (step S201), and the authentication determining unit 121 determines to perform authentication processing (step S202).
  • the authentication processing unit 122 performs authentication processing on the external device 200 (step S203), and the read/write processing control unit 126 determines whether the external device 200 is authenticated (step S204).
  • step S204; N If the external device 200 is not authenticated (step S204; N), the read/write processing control unit 126 ends the process without writing the write target information. On the other hand, when the external device 200 is authenticated (step S204; Y), the read/write processing control unit 126 acquires information indicating the confidentiality range of the write target information from the concealment range information management unit 125 (step S205), and It is determined whether the information includes concealment range information (step S206).
  • the read/write processing control unit 126 When the write target information includes concealment range information (step S206; Y), the read/write processing control unit 126 generates concealment range information by causing the concealment information generation unit 124 to generate concealment information by concealing the concealment range information. The information to be written is obtained by replacing the information with the anonymized information (step S207). On the other hand, if the write target information does not include the concealment range information (step S206; N), the read/write processing control unit 126 acquires the write target information including the concealment range information (step S208). Next, the read/write processing control unit 126 determines whether the write target information is to be stored as nonvolatile information based on the write request information (step S209).
  • the read/write processing control unit 126 When storing the write target information as nonvolatile information (step S209; Y), the read/write processing control unit 126 causes the nonvolatile information management unit 127 to store the write target information in a nonvolatile storage device, that is, import the write target information. (Step S210), the process ends.
  • the read/write processing control unit 126 instructs the volatile information management unit 128 to store the write target information in a volatile storage device, that is, to import the write target information. This is done (step S211), and the process ends.
  • the read/write processing control unit 126 causes the nonvolatile information management unit 127 to acquire the read target information from the nonvolatile storage device, that is, to export the read target information (step S302; Y). Step S303).
  • the read target information is volatile information (step S302; N)
  • the read/write processing control unit 126 causes the volatile information management unit 128 to acquire, that is, export, the read target information from the volatile storage device. (step S304).
  • the read/write processing control unit 126 causes the authentication determining unit 121 to determine whether or not to perform the authentication process based on the authentication selection information (step S305), and determines whether or not the determination to perform the authentication process has been made ( Step S306).
  • the read/write processing control unit 126 determines to perform the authentication process (step S306; Y)
  • the read/write processing control unit 126 causes the authentication processing unit 122 to perform the authentication process for the external device 200 (step S307), and determines whether the external device 200 is authenticated or not. (Step S308). If the external device 200 is not authenticated (step S308; N), or if it is determined not to perform the authentication process (step S306; N), the read/write processing control unit 126 stores the confidential range information as shown in FIG. Based on the information acquired from the management unit 125, it is determined whether the read target information includes concealment range information (step S309).
  • the read/write processing control unit 126 converts the concealment range information into unidentifiable information by causing the concealment information generation unit 124 to convert the concealment range information into unspecified information. generated (step S310). Then, the read/write processing control unit 126 generates response information that is read target information in which the concealment range information is replaced with concealment information (step S311). On the other hand, if the reading target information does not include concealment range information (step S309; N) or if the external device 200 is authenticated (step S308; Y), the read/write processing control unit 126 controls the information storage unit 130. Response information, which is read target information acquired from the storage device, is generated (step S312). Then, the read/write processing control unit 126 causes the response information transmitting unit 113 to transmit the generated response information (step S313), and ends the process.
  • the read request information receiving unit 112 receives read request information of read target information from the external device 200. Further, when the read target information includes concealment range information, the concealment information generation unit 124 generates concealment information by concealing the concealment range information. Further, if the read target information does not include concealment range information, the response information transmitting unit 113 transmits the read target information as response information. On the other hand, if the read target information includes concealment range information, the response information transmitting unit 113 transmits read target information in which the concealment range information is replaced with concealed information as response information.
  • the PLC 100 can protect the concealed range information from a third party without authenticating the external device 200, and performs authentication every time it receives read request information from the external device.
  • the processing load can be reduced compared to the PLC that performs processing.
  • the programmable logic controller according to the present disclosure can reduce processing load while protecting information that is desired to be kept secret from third parties.
  • the authentication determining unit 121 determines whether to perform authentication processing on the external device 200, and the authentication processing unit 122 performs the authentication processing. If a decision is made to perform this, authentication processing for the external device 200 is performed. Then, when a decision is made not to perform authentication processing and the read target information includes concealment range information, the response information transmitting unit 113 transmits the read target information in which the concealment range information has been replaced with concealed information as response information. Send.
  • the PLC 100 according to the present embodiment can select whether or not to authenticate the external device 200 when receiving read request information. Further, the PLC 100 according to the present embodiment can protect confidential range information from a third party even when a selection is made not to perform authentication.
  • a conventional external device of a production monitoring system when a conventional external device of a production monitoring system reads information stored in the device, the conventional external device first performs authentication. Send authentication request information indicating a request to perform processing. Next, after receiving the request information, the conventional PLC performs a conventional authentication process on the external device to authenticate the external device. The authenticated conventional external device then sends read request information. Next, after receiving the read request information, the conventional PLC performs a check process to determine whether or not the read target information includes concealment range information, and if the result of the check process is OK, the response information is transferred to the conventional PLC. Send to external device.
  • the write target information is stored as it is in the device without encrypting the concealment range information. For this reason, conventional PLCs perform a check process every time they receive read request information in order to prevent readout of confidential range information from an unauthenticated external device.
  • the device is the RAM shown in FIG. 4, if the read target information is production monitoring information stored in the storage area from D0 to D99 or the storage area from D300 to D499, it will be hidden in the read target information. Contains no range information. Therefore, as shown in FIG. 9, when the result of the check process is OK, the conventional PLC generates the read target information as response information and transmits it to the conventional external device.
  • the information to be read is the know-how information stored in the storage areas D100 to D299, the information to be read includes the concealment range information. Therefore, if the conventional external device is not authenticated, the conventional PLC generates check NG information indicating that the result of the check process is NG as response information, and sends it to the conventional external device.
  • conventional PLCs perform authentication processing and check processing every time information is read from a conventional external device, and there is a problem in that the processing load increases as information is read in short cycles. .
  • the processing load increases as information is read in short cycles.
  • the latency between receiving read request information and transmitting response information will be high, or the time required to scan information stored in the device will be long. be.
  • the increased processing load of reading and writing information on the device may have an adverse effect such as delaying the processing of the original sequence control.
  • conventional external devices often attempt to read out information stored in a certain range of storage areas from the device all at once, taking into consideration communication efficiency.
  • a conventional PLC if information stored in a device includes confidential range information, authentication is required before reading the information.
  • conventional PLCs may include multiple types of devices, and some devices include hidden range information in the stored information and require authentication to read, and some devices include hidden range information in the stored information. devices that do not require authentication. For this reason, in order to efficiently read information from each device, conventional external devices require a program to read information all at once from devices that do not require authentication, and a program to read information in parts from devices that require authentication. It is necessary to prepare the program separately.
  • the check NG information is used as response information to send the check NG information to the conventional external device.
  • the conventional external device that received the check NG information as response information is an external device used by a malicious third party
  • the third party can hide the information in the storage area of the device where the information to be read is stored. It can be recognized that range information is stored.
  • conventional PLCs give a third party useful information that can be used to steal confidential range information, so there is a risk that they will become easy targets for hacking. be.
  • the external device 200 when the external device 200 reads information stored in the device, the external device 200 first does not transmit the authentication request information. Send read request information to. Next, after receiving the read request information, the PLC 100 generates response information based on the read target information and transmits it to the external device 200, regardless of whether the read target information includes concealment range information.
  • the PLC according to the present embodiment can avoid performing the authentication process and check process that were performed in the conventional PLC every time information is read from the external device 200.
  • the PLC according to the present embodiment can reduce the processing load compared to the conventional PLC, lower the latency from receiving the read request information to transmitting the response information, and lower the latency from receiving the read request information to transmitting the response information. It is possible to shorten the time required to scan information.
  • the PLC 100 can transmit read target information in which the concealment range information is replaced with concealed information as response information. Therefore, in order to efficiently read information from each device, the external device 200 has a program for reading information all at once from devices that do not require authentication, and a program that reads information separately from devices that require authentication. The information to be read can be read out all at once without having to prepare both separately.
  • the external device 200 when reading the production monitoring information from the RAM shown in FIG. 4, the external device 200 must read out the production monitoring information stored in the storage areas D0 to D499 all at once, as shown in FIG. Bye.
  • the PLC 100 according to the present embodiment can improve communication efficiency more than a conventional PLC that divides and reads information from a device that requires authentication.
  • the external device 200 receives the read target information in which the concealment range information is replaced with concealed information as response information. Therefore, even if the external device 200 that received the response information is an external device used by a malicious third party, the third party cannot identify that the response information includes concealed information. Otherwise, it will not be possible to recognize that the read target information includes concealed range information. As a result, the PLC 100 according to the present embodiment does not provide a third party with useful information for stealing the confidential range information, and therefore becomes less likely to be hacked than a conventional PLC.
  • the write request information receiving unit 111 receives write request information for write target information from the external device 200. Further, when the authentication determining unit 121 receives the write request information, the authentication determining unit 121 determines to perform authentication processing, and the authentication processing unit 122 performs authentication processing for the external device 200. Furthermore, when the external device 200 is authenticated, the concealment range determining unit 123 determines the concealment range of the write target information. The information storage unit 130 then stores the write target information for which the concealment range has been determined.
  • the PLC 100 according to the present embodiment can limit the users who can specify the concealment range of the write target information using the external device 200.
  • the PLC 100 according to the present embodiment can reduce the frequency of concealment compared to a PLC that determines the concealment range and performs concealment without authenticating the external device every time it receives write request information. Processing load can be reduced.
  • the anonymization information generation unit 124 generates anonymization information by encrypting the anonymity range information included in the write target information. Then, the information storage unit 130 stores write target information in which the concealment range information is replaced with concealment information.
  • the PLC 100 can prevent the information storage unit 130 from being accessed even if unauthorized access is made from an external terminal used by a third party due to, for example, a defect in an installed program or a so-called security hole.
  • the confidentiality of stored information can be maintained.
  • the read target information in which the concealment range information is encrypted is transmitted as response information. do.
  • the encrypted concealment range information can be decrypted by the external device 200 that has transmitted the write request information of the write target information including the concealment range information.
  • the anonymization information generation unit 124 encrypts the anonymity range information using the public key information, while the external device 200 encrypts the anonymity range information using the public key information.
  • the encrypted concealment range information is decrypted using
  • the PLC 100 only the user of the external device 200 who has written the read target information into the PLC 100 can decrypt the encrypted concealment range information included in the read target information and read the contents. can be confirmed, so the confidentiality of the concealment range information can be maintained.
  • the information storage unit 130 includes a volatile storage device. Further, the write request information receiving unit 111 receives write request information of write target information to be stored in a volatile storage device from the external device 200. Then, the read request information receiving unit 112 receives read request information of the read target information stored in the volatile storage device from the external device 200. That is, the PLC 100 according to the present embodiment is capable of reading and writing volatile information in a volatile storage device. For example, it is possible to read and write volatile information in units of RAM storage area. It is possible.
  • the PLC 100 appropriately protects information necessary for product production monitoring, such as the above-mentioned device control information and recipe information, which are stored in a device such as a RAM. be able to.
  • the information storage unit 130 includes a nonvolatile storage device.
  • the write request information receiving unit 111 receives write request information of write target information to be stored in a nonvolatile storage device from the external device 200.
  • the read request information receiving unit 112 receives read request information of the read target information stored in the nonvolatile storage device from the external device 200. That is, the PLC 100 according to the present embodiment is capable of reading and writing nonvolatile information in a nonvolatile storage device, for example, reading and writing nonvolatile information in units of files stored in an HDD. It is now possible.
  • the PLC 100 according to the present embodiment stores and saves information necessary for product production monitoring, such as the above-mentioned device control information and recipe information, as non-volatile file information in the HDD. be able to.
  • the PLC 100 according to the present embodiment can store information necessary for production monitoring even if the battery runs out during a power outage, for example.
  • the anonymization information generation unit 124 generates anonymization information by converting the anonymity range information included in the read target information into non-identifiable information.
  • the response information transmitting unit 113 can transmit read target information in which the concealment range information is replaced with unspecified information as response information. That is, the PLC 100 according to the present embodiment is capable of replacing the concealment range information included in the response information with unrecoverable dummy data.
  • the PLC 100 can reduce the processing load for performing concealment by converting concealment range information into unidentifiable information than a PLC that does not generate concealment information, and as described above.
  • the latency can be lowered.
  • the PLC 100 when the read target information includes concealment range information, if the external device 200 is not authenticated, the PLC 100 returns the read target information in which the concealment range information has been replaced with unspecified information as response information.
  • the anonymized information is not limited to non-identifiable information.
  • the PLC 100 may transmit read target information in which concealment range information is encrypted as response information. By doing so, the PLC 100 can directly use the information stored in the information storage unit 130 as response information. As a result, the PLC 100 can omit the process of determining whether the read target information includes concealment range information, the process of generating unidentifiable information as concealed information, and the process of replacing concealment range information with unidentifiable information. .
  • the PLC 100 when the read target information includes concealment range information, if the external device 200 is not authenticated, the PLC 100 returns the read target information in which the concealment range information has been replaced with concealed information as response information.
  • the information to be anonymized is not limited to the anonymity range information.
  • the PLC 100 may transmit, as response information, read target information in which all information including not only the concealment range information but also information different from the concealment range information is encrypted.
  • the external device 200 of the production monitoring system needs to be able to decrypt the received encrypted information to be read, while the external terminal used by the third party must be able to decrypt the received encrypted information to be read. It is necessary to protect the confidential range information from third parties by making it impossible to decrypt it.
  • the PLC 100 when the read target information includes concealment range information, the PLC 100 transmits the information stored in the information storage unit 130 as response information if the external device 200 is authenticated.
  • the response information when the external device 200 is authenticated is not limited to this.
  • the PLC 100 may transmit read target information in which encrypted concealment range information is replaced with decrypted concealment range information as response information. Note that in order to control in this way, the PLC 100 needs to be able to decrypt the encrypted concealment range information.
  • the PLC 100 in order to protect the concealment range information from unauthorized access, when the write target information includes concealment range information, the PLC 100 writes the write target information with the concealment range information replaced with concealed information.
  • the PLC 100 may store write target information in which the concealment range information is not replaced with concealment information in the information storage unit 130 as is. Even in this case, if the read target information includes concealment range information, the PLC 100 sends the read target information in which the concealment range information has been replaced with concealed information to the unauthenticated external device 200 as response information. Can be sent.
  • the PLC 100 may directly transmit the read target information in which the concealment range information is not encrypted as the response information. By doing so, the PLC 100 can directly use the information stored in the information storage unit 130 as response information.
  • the PLC 100 when the PLC 100 receives read request information, it is possible to select whether or not to authenticate the external device 200; You don't have to.
  • the PLC 100 may authenticate the external device 200 every time it receives read request information.
  • the PLC 100 may not authenticate the external device 200 even if it receives the read request information.
  • the PLC 100 authenticate the external device 200 every time it receives write request information in order to limit the users who can specify the confidentiality range; does not always have to be done.
  • the PLC 100 may be able to select whether or not to authenticate the external device 200 even when it receives write request information, similarly to when it receives read request information. Further, for example, the PLC 100 may not authenticate the external device 200 even if it receives the write request information.
  • the PLC 100 performs authentication processing using a user name and password, but the method of authentication processing is not limited to this.
  • authentication using electronic certificates two-step authentication using not only username and password but also software on the user's mobile device such as smartphone app, email, SMS (Short Message Service), fingerprint, iris, etc.
  • a known authentication technique such as FIDO (Fast IDentity Online) authentication using biometric information may be used.
  • the secrecy range information is encrypted using a known public key cryptographic algorithm, but the method of encrypting the secrecy range information is not limited to this.
  • the confidentiality range information may be encrypted using a known common key encryption algorithm.
  • any cryptographic algorithm may be used as long as the user of the external device 200 can decrypt it; for example, a private cryptographic algorithm that does not use a key agreed between the PLC 100 and the external device 200 may be used. There may be.
  • the PLC 100 allows the external device 200 to read and write file information stored in a non-volatile storage device in order to save information necessary for production monitoring as non-volatile information. This is preferred, but not limited to this.
  • the PLC 100 allows the external device 200 to read and write volatile information stored in the device, the external device 200 does not need to be able to read and write file information stored in a non-volatile storage device.
  • the PLC 100 that executes the above processing may be configured by storing and distributing a program in a recording medium readable by the PLC 100, such as a flash memory, and installing the program.
  • the program may be stored in a storage device of a server device on a communication network such as a LAN or the Internet, and the PLC 100 may configure the PLC 100 by downloading the program.
  • the functions of the PLC 100 are realized by sharing the OS (Operating System) and application programs, or by cooperating with the OS and application programs, only the application program portion may be stored in a recording medium or storage device. .
  • the program may be posted on a bulletin board system (BBS) on a communication network and provided via the network. Then, the above process may be executed by starting the program and executing it under the control of the OS in the same way as other application programs.
  • BSS bulletin board system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

読み出し要求情報受信部(112)は、読み出し対象情報の読み出し要求情報を外部機器から受信する。秘匿化情報生成部(124)は、読み出し対象情報に秘匿範囲情報が含まれる場合、秘匿範囲情報を秘匿化した秘匿化情報を生成する。応答情報送信部(113)は、読み出し対象情報に秘匿範囲情報が含まれていない場合には応答情報として読み出し対象情報を送信する一方、読み出し対象情報に秘匿範囲情報が含まれている場合には応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信する。

Description

プログラマブルロジックコントローラ、制御方法及びプログラム
 本開示は、プログラマブルロジックコントローラ、制御方法及びプログラムに関する。
 工場においては、生産工程を自動化する工作機械、製造装置といった機器を制御する制御装置として、プログラマブルロジックコントローラ(PLC、Programmable Logic Controller、以下「PLC」と記載することがある)が使用されている。PLCは、製品の生産に関する情報、例えば、機器の制御情報、機器内部の材料の温度・配合比率を示すレシピ情報を記憶するRAM(Random Access Memory)を含む。このため、RAMのようなPLCのデバイスは、生産システムが正常に稼働しているか否かを確認する目的で生産監視システム、例えば、SCADA(Supervisory Control And Data Acquisition)の外部機器によって情報が定期的に読み出されている。
 ここで、一般なPLCのデバイスには、上述した生産に関する情報として機器の制御方法、当該機器を使った製品の製造方法といった各メーカのノウハウ情報も記憶されている。このため、PLCは、ノウハウ情報のような第三者から秘匿したい情報を適切に保護する必要がある。このようなPLCの一例として、特許文献1には、認証に成功したユーザに対してデバイスのデータの読み書きを許可するPLCが開示されている。
国際公開第2014/016938号
 特許文献1に記載されたPLCでは、デバイスのデータを読み書きする度に認証が必要となる。このため、特許文献1に記載されたPLCでは、例えば、大規模な生産システムのように多数のデバイスを備える場合、各デバイスに短い周期で読み書きを要求するアクセスがあれば、アクセス毎に認証を行うことでPLCの処理負荷が大きくなる問題がある。この結果、特許文献1に記載されたPLCでは、例えば、ユーザが用いる外部機器がデータの読み書きを要求してから応答するまでの応答時間、所謂レイテンシが高くなったり、デバイスに記憶されているデータのスキャンに要する時間が長くなったりする虞がある。さらに、特許文献1に記載されたPLCでは、デバイスにおいてデータを読み書きする処理負荷が大きくなることで、本来の機器を順番に制御、所謂シーケンス制御についても処理が遅延するといった悪影響を及ぼす虞がある。
 本開示は、上記実情に鑑みてなされたものであり、第三者から秘匿したい情報を保護しつつ処理負荷を低減することを目的とする。
 上記目的を達成するため、本開示に係るプログラマブルロジックコントローラは、外部機器との情報の送受信が可能である。プログラマブルロジックコントローラは、読み出し対象となる情報である読み出し対象情報の読み出し要求を示す読み出し要求情報を外部機器から受信する読み出し要求情報受信部を備える。また、プログラマブルロジックコントローラは、読み出し対象情報に秘匿範囲の情報である秘匿範囲情報が含まれる場合、秘匿範囲情報を秘匿化した情報である秘匿化情報を生成する秘匿化情報生成部を備える。また、プログラマブルロジックコントローラは、読み出し要求情報を受信した場合、読み出し要求情報に応答する情報である応答情報を外部機器に送信する応答情報送信部を備える。応答情報送信部は、読み出し対象情報に秘匿範囲情報が含まれていない場合、応答情報として読み出し対象情報を送信する一方、読み出し対象情報に秘匿範囲情報が含まれている場合、応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信する。
 本開示によれば、プログラマブルロジックコントローラは、読み出し要求情報を受信した場合、読み出し対象情報に秘匿範囲情報が含まれていれば応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信する。よって、本開示に係るプログラマブルロジックコントローラは、外部機器の認証を行わなくても第三者から秘匿範囲情報を保護することができる。また、本開示に係るプログラマブルロジックコントローラは、秘匿範囲情報を第三者から保護するために外部機器から読み出し要求情報を受信する度に認証処理を行うプログラマブルロジックコントローラよりも処理負荷を低減できる。この結果、本開示に係るプログラマブルロジックコントローラは、第三者から秘匿したい情報を保護しつつ処理負荷を低減できる。
実施の形態1に係るPLCと外部機器とが接続された状態の説明図 実施の形態1に係るPLCの機能構成を示す図 実施の形態1に係るPLCのハードウェア構成を示すブロック図 実施の形態1に係るPLCのRAMに記憶された情報の説明図 実施の形態1に係る秘匿範囲決定処理のフローチャート 実施の形態1に係る書き込み制御処理のフローチャート 実施の形態1に係る読み出し制御処理のフローチャート 図7の続きのフローチャート 従来のPLCのデバイスから外部機器が情報を読み出すときのタイミングチャート 実施の形態1に係るPLCから外部機器が情報を読み出すときのタイミングチャート
 以下、本開示を実施するための形態に係るPLC、制御方法及びプログラムについて図面を参照して詳細に説明する。なお、図中同一又は相当する部分には同じ符号を付す。
[実施の形態1]
(実施の形態1に係るPLC100について)
 本開示の実施の形態1に係るPLC100は、例えば、工場において生産工程を自動化する工作機械、製造装置といった機器を制御している制御装置である。図1に示すように、PLC100は、生産監視システムの外部機器200との情報の送受信が通信網の一例としてのインターネット300を介して可能となっている。
 PLC100は、上述した機器の制御情報、機器内部の材料のレシピ情報といった製品の生産監視に必要となる情報である生産監視情報を記憶しているため、外部機器200からこれらの情報の読み書きが頻繁に行われている。例えば、外部機器200は、書き込み対象となる情報である書き込み対象情報をPLC100に記憶させたい場合、書き込み対象情報の書き込み要求を示す書き込み要求情報をPLC100に送信する。この場合、PLC100は、外部機器200から書き込み要求情報を受信すると、外部機器200に対する認証処理を行い、外部機器200が認証されると書き込み要求情報に基づく書き込み対象情報を記憶する。
 また、例えば、外部機器200は、読み出し対象となる情報である読み出し対象情報がPLC100に記憶されている場合、当該読み出し対象情報の読み出し要求を示す読み出し要求情報をPLC100に送信する。この場合、PLC100は、外部機器200から読み出し要求情報を受信した後、読み出し要求情報に応答する情報である応答情報を外部機器200に送信する。なお、読み出し対象情報にはノウハウ情報といった第三者から秘匿したい情報も含まれている可能性がある。よって、PLC100は、第三者から秘匿したい情報を保護するため、外部機器200から読み出し要求情報を受信した後、外部機器200に対する認証処理を行うか否かを選択することが可能となっている。
 図2に示すように、PLC100は、情報を送受信する情報送受信部110、情報を処理する情報処理部120、情報を記憶する情報記憶部130を含む。情報送受信部110は、書き込み要求情報を受信する書き込み要求情報受信部111、読み出し要求情報を受信する読み出し要求情報受信部112、応答情報を送信する応答情報送信部113を含む。
 情報処理部120は、認証処理を行うか否かを決定する認証決定部121、認証処理を行う認証処理部122、書き込み対象情報の秘匿範囲を決定する秘匿範囲決定部123、秘匿化情報を生成する秘匿化情報生成部124を含む。また、情報処理部120は、秘匿範囲の情報である秘匿範囲情報を管理する秘匿範囲情報管理部125、情報を読み書きする処理を制御する読み書き処理制御部126を含む。また、情報処理部120は、不揮発性の記憶装置に記憶された情報である不揮発性情報を管理する不揮発性情報管理部127、揮発性の記憶装置に記憶された情報である揮発性情報を管理する揮発性情報管理部128を含む。
 情報記憶部130は、例えば、RAM(Random Access Memory)のような揮発性の記憶装置、HDD(Hard Disk Drive)のような不揮発性の記憶装置を含む。
(実施の形態1に係るPLC100のハードウェア構成について)
 図3に示すように、PLC100は、制御プログラム59に従って処理を実行する制御部51を備える。制御部51は、CPU(Central Processing Unit)を備える。制御部51は、制御プログラム59に従って、図2に示す情報処理部120として機能する。
 図3に戻り、PLC100は、制御プログラム59をロードし、制御部51の作業領域として用いられる主記憶部52を備える。主記憶部52は、RAM(Random Access Memory)といった揮発性の記憶装置を備える。主記憶部52は、図2に示す情報記憶部130として機能する。
 図3に戻り、PLC100は、制御プログラム59を予め記憶する外部記憶部53を備える。外部記憶部53は、制御部51の指示に従って、このプログラムが記憶するデータを制御部51に供給し、制御部51から供給されたデータを記憶する。外部記憶部53は、フラッシュメモリ、HDD、SSD(Solid State Drive)等の不揮発性の記憶装置を備える。外部記憶部53は、図2に示す情報記憶部130として機能する。
 図3に戻り、PLC100は、ユーザに操作される操作部54を備える。操作部54を介して、入力された情報が制御部51に供給される。操作部54は、キーボード、マウス、タッチパネル等の情報入力部品を備える。
 また、PLC100は、操作部54を介して入力された情報及び制御部51が出力した情報を表示する表示部55を備える。表示部55は、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を備える。
 また、PLC100は、情報を送受信する送受信部56を備える。送受信部56は、ネットワークに接続する通信網終端装置、無線通信装置等の情報通信部品を備える。送受信部56は、図2に示す情報送受信部110として機能する。
 図3に戻り、PLC100では、主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56はいずれも内部バス50を介して制御部51に接続されている。
 PLC100は、制御部51が主記憶部52、外部記憶部53、操作部54、表示部55及び送受信部56を資源として用いることによって、図2に示す上記の各部111~113、121~128、130の機能を実現する。例えば、PLC100は、書き込み要求情報受信部111が行う書き込み要求情報受信ステップを実行する。また、例えば、PLC100は、読み出し要求情報受信部112が行う読み出し要求情報受信ステップ、応答情報を送信する応答情報送信部113が行う応答情報送信ステップを実行する。
 また、例えば、PLC100は、認証決定部121が行う認証決定ステップ、認証処理部122が行う認証処理ステップを実行する。また、例えば、PLC100は、秘匿範囲決定部123が行う秘匿範囲決定ステップ、秘匿化情報生成部124が行う秘匿化情報生成ステップを実行する。また、例えば、PLC100は、秘匿範囲情報管理部125が行う秘匿範囲情報管理ステップ、読み書き処理制御部126が行う読み書き処理制御ステップを実行する。また、例えば、PLC100は、不揮発性情報管理部127が行う不揮発性情報管理ステップ、揮発性情報管理部128が行う揮発性情報管理ステップを実行する。
(実施の形態1に係るPLC100の機能構成の詳細について)
 図2に戻り、書き込み要求情報受信部111は、外部機器200から書き込み要求情報を受信する。なお、書き込み要求情報は、例えば、書き込み対象情報と、書き込み対象情報に含まれる秘匿範囲情報を特定可能な情報と、不揮発性情報として記憶するか否かを特定可能な情報とを含む情報である。ここで、不揮発性情報として記憶するか否かを特定可能な情報とは、例えば、不揮発性情報の一例としてのファイル情報として記憶するか否かを特定可能な情報である。また、書き込み要求情報は、外部機器200に対する認証処理に用いられる情報である認証用情報を更に含む情報である。なお、認証用情報は、例えば、外部機器200のユーザ名とパスワードとを示す情報である。
 読み出し要求情報受信部112は、外部機器200から読み出し要求情報を受信する。なお、読み出し要求情報は、例えば、読み出し対象情報を特定可能な情報を含む情報である。なお、外部機器200が読み出し要求をするときに認証が必要である旨を特定可能な情報を予め取得している場合、読み出し要求情報は、上述した認証用情報を更に含む情報である。
 応答情報送信部113は、後述する読み書き処理制御部126によって生成された応答情報を外部機器200に送信する。
 認証決定部121は、外部機器200から書き込み要求情報を受信した場合、認証処理を行う旨の決定をする。また、認証決定部121は、外部機器200から読み出し要求情報を受信した場合、予め設定された読み出し要求があった際に認証処理を行うか否かを選択するための読み出し認証選択情報に基づいて、認証処理を行うか否かを決定する。なお、読み出し認証選択情報は、ユーザによる操作部54を用いた入力に基づいて設定された認証処理のオン・オフを示す情報である。
 認証処理部122は、認証処理を行う旨の決定がなされた場合、外部機器200に対する認証処理を行う。例えば、認証処理部122は、受信した書き込み要求情報又は読み出し要求情報に含まれる認証用情報に基づいて、外部機器200に対する認証処理を行う。なお、本実施の形態では、外部機器200は、認証用情報を含む書き込み要求情報、読み出し要求情報を送信しているが、これに限定されず、認証用情報と、書き込み要求情報、読み出し要求情報とを別々に送信してもよい。
 秘匿範囲決定部123は、外部機器200が認証された場合、書き込み対象情報に含まれる秘匿範囲情報を特定可能な情報から書き込み対象情報の秘匿範囲を決定する。また、秘匿範囲決定部123は、決定した書き込み対象情報の秘匿範囲を示す情報を後述する秘匿範囲情報管理部125に出力する。
 秘匿化情報生成部124は、秘匿範囲情報を秘匿化することで秘匿化情報を生成する。秘匿化情報生成部124は、後述する読み書き処理制御部126が書き込み対象情報を書き込む処理を制御する場合、予め取得した外部機器200のユーザの公開鍵を示す情報である公開鍵情報を用いて暗号化することで秘匿化情報を生成する。また、秘匿化情報生成部124は、読み書き処理制御部126が読み出し対象情報を読み出す処理を制御する場合、秘匿範囲情報を当該秘匿範囲情報が特定不能となる情報である特定不能情報に変換することで秘匿化情報を生成する。ここで、特定不能情報は、例えば、疑似乱数を生成するアルゴリズムで生成した乱数値に基づく情報である乱数情報である。なお、特定不能情報は、秘匿範囲情報が特定不能となる情報である限りにおいて乱数情報に限定されず、例えば、秘匿範囲情報のハッシュ値に基づく情報であるハッシュ情報であってもよい。
 秘匿範囲情報管理部125は、秘匿範囲決定部123から取得した書き込み対象情報の秘匿範囲を示す情報に基づいて秘匿範囲情報を管理する。秘匿範囲情報管理部125は、情報記憶部130に記憶されている情報のうちの何れの情報が秘匿範囲情報であるかを特定する。
 例えば、揮発性の記憶装置、所謂デバイスの一例としてのRAMについて考える。図4に示すように、RAMは、D0からD99までの記憶領域に秘匿範囲情報ではない生産監視情報が記憶されており、D100からD299までの記憶領域に秘匿範囲情報であるノウハウ情報が記憶されており、D300からD499までの記憶領域に秘匿範囲情報ではない生産監視情報が記憶されているとする。この場合、秘匿範囲情報管理部125は、D100からD299までの記憶領域に記憶されている情報が秘匿範囲情報である旨を特定する。
 なお、このように制御するために、秘匿範囲情報管理部125は、書き込み対象情報が書き込まれる前に読み書き処理制御部126に書き込み対象情報の秘匿範囲を示す情報を出力した後、書き込み対象情報が書き込まれた後に読み書き処理制御部126から上述した情報を取得する。この結果、例えば、秘匿範囲情報管理部125は、読み出し対象情報を読み出すとき、読み書き処理制御部126から読み出し対象情報を特定可能な情報を取得した場合、上述した情報に基づいて読み出し対象情報に秘匿範囲情報が含まれているか否かを特定可能な情報を読み書き処理制御部126に出力できる。
 図2に戻り、読み書き処理制御部126は、外部機器200から書き込み要求情報を受信した場合において外部機器200が認証された後、秘匿範囲情報管理部125から書き込み対象情報の秘匿範囲を示す情報を取得する。また、読み書き処理制御部126は、書き込み対象情報に秘匿範囲情報が含まれる場合、秘匿化情報生成部124に秘匿範囲情報を秘匿化した秘匿化情報を生成させることで、秘匿範囲情報を秘匿化情報に置き換えた書き込み対象情報を取得する。また、読み書き処理制御部126は、書き込み要求情報に基づいて、書き込み対象情報を不揮発性情報として記憶するか否かを特定する。
 また、読み書き処理制御部126は、書き込み対象情報を不揮発性情報として記憶する場合、不揮発性情報管理部127に書き込み対象情報の書き込み、所謂インポートを行わせる。一方、読み書き処理制御部126は、書き込み対象情報を揮発性情報として記憶する場合、揮発性情報管理部128に書き込み対象情報のインポートを行わせる。
 また、読み書き処理制御部126は、外部機器200から読み出し要求情報を受信した場合、読み出し対象情報が不揮発性の記憶装置に記憶されている不揮発性情報である場合、不揮発性情報管理部127に読み出し対象情報の読み出し、所謂エクスポートを行わせる。一方、読み書き処理制御部126は、読み出し対象情報が揮発性の記憶装置に記憶されている揮発性情報である場合、揮発性情報管理部128に読み出し対象情報のエクスポートを行わせる。また、読み書き処理制御部126は、秘匿範囲情報管理部125に読み出し対象情報を特定可能な情報を出力し、当該読み出し対象情報に秘匿範囲情報が含まれているか否かを特定可能な情報を取得する。
 また、読み書き処理制御部126は、読み出し対象情報に秘匿範囲情報が含まれない場合、秘匿範囲情報を含まない読み出し対象情報を応答情報として生成し、応答情報送信部113に当該応答情報を送信させる。一方、読み書き処理制御部126は、読み出し対象情報に秘匿範囲情報が含まれる場合、外部機器200が認証されている状況であれば、秘匿範囲情報を含む読み出し対象情報を応答情報として生成し、応答情報送信部113に当該応答情報を送信させる。なお、秘匿範囲情報は、公開鍵情報を用いて暗号化されている。
 また、読み書き処理制御部126は、読み出し対象情報に秘匿範囲情報が含まれる場合、外部機器200が認証されていない状況、又は、認証処理を行わない旨の決定がなされている状況であれば、秘匿化情報生成部124に秘匿範囲情報を特定不能情報に変換した秘匿化情報を生成させる。そして、読み書き処理制御部126は、秘匿範囲情報を秘匿化情報に置き換えた読み出し対象情報を応答情報として生成し、応答情報送信部113に当該応答情報を送信させる。
 不揮発性情報管理部127は、情報記憶部130のうちの不揮発性の記憶装置に対する揮発性情報のインポート及びエクスポートを管理する。不揮発性情報管理部127は、読み書き処理制御部126が不揮発性の記憶装置に対して書き込み対象情報を書き込む処理を制御する場合、不揮発性情報としての書き込み対象情報を不揮発性の記憶装置にインポートする。また、不揮発性情報管理部127は、読み書き処理制御部126が不揮発性の記憶装置から読み出し対象情報を読み出す処理を制御する場合、不揮発性情報としての読み出し対象情報を不揮発性の記憶装置からエクスポートする。
 揮発性情報管理部128は、情報記憶部130のうちの揮発性の記憶装置に対する揮発性情報のインポート及びエクスポートを管理する。揮発性情報管理部128は、読み書き処理制御部126が揮発性の記憶装置に対して書き込み対象情報を書き込む処理を制御する場合、揮発性情報としての書き込み対象情報を揮発性の記憶装置にインポートする。また、揮発性情報管理部128は、読み書き処理制御部126が揮発性の記憶装置から読み出し対象情報を読み出す処理を制御する場合、揮発性情報としての読み出し対象情報を揮発性の記憶装置からエクスポートする。
(実施の形態1に係る秘匿範囲決定処理について)
 次に、フローチャートを用いてPLC100が書き込み対象情報の秘匿範囲を決定する動作について説明する。PLC100は、電源をオンにすると、図5に示す秘匿範囲決定処理の実行を開始する。先ず、書き込み要求情報受信部111は、外部機器200から書き込み要求情報を受信し(ステップS101)、認証決定部121は、認証処理を行う旨の決定をする(ステップS102)。次に、認証処理部122は、外部機器200に対する認証処理を行い(ステップS103)、秘匿範囲決定部123は、外部機器200が認証されたか否かを判定する(ステップS104)。
 秘匿範囲決定部123は、外部機器200が認証されない場合(ステップS104;N)、秘匿範囲を決定せずに処理を終了する。一方、秘匿範囲決定部123は、外部機器200が認証された場合(ステップS104;Y)、書き込み対象情報に含まれる秘匿範囲情報を特定可能な情報から書き込み対象情報の秘匿範囲を決定し(ステップS105)、処理を終了する。
(実施の形態1に係る書き込み制御処理について)
 次に、フローチャートを用いてPLC100が書き込み対象情報の書き込みを制御する動作について説明する。PLC100は、電源をオンにすると、図6に示す書き込み制御処理の実行を開始する。先ず、書き込み要求情報受信部111は、外部機器200から書き込み要求情報を受信し(ステップS201)、認証決定部121は、認証処理を行う旨の決定をする(ステップS202)。次に、認証処理部122は、外部機器200に対する認証処理を行い(ステップS203)、読み書き処理制御部126は、外部機器200が認証されたか否かを判定する(ステップS204)。
 読み書き処理制御部126は、外部機器200が認証されない場合(ステップS204;N)、書き込み対象情報を書き込まずに処理を終了する。一方、読み書き処理制御部126は、外部機器200が認証された場合(ステップS204;Y)、秘匿範囲情報管理部125から書き込み対象情報の秘匿範囲を示す情報を取得し(ステップS205)、書き込み対象情報に秘匿範囲情報が含まれるか否かを判定する(ステップS206)。
 読み書き処理制御部126は、書き込み対象情報に秘匿範囲情報が含まれる場合(ステップS206;Y)、秘匿化情報生成部124に秘匿範囲情報を秘匿化した秘匿化情報を生成させることで秘匿範囲情報を秘匿化情報に置き換えた書き込み対象情報を取得する(ステップS207)。一方、読み書き処理制御部126は、書き込み対象情報に秘匿範囲情報が含まれない場合(ステップS206;N)、秘匿範囲情報を含む書き込み対象情報を取得する(ステップS208)。次に、読み書き処理制御部126は、書き込み要求情報に基づいて、書き込み対象情報を不揮発性情報として記憶するか否かを判定する(ステップS209)。
 読み書き処理制御部126は、書き込み対象情報を不揮発性情報として記憶する場合(ステップS209;Y)、不揮発性情報管理部127に不揮発性の記憶装置への書き込み対象情報の記憶、すなわちインポートを行わせ(ステップS210)、処理を終了する。一方、読み書き処理制御部126は、書き込み対象情報を揮発性情報として記憶する場合(ステップS209;N)、揮発性情報管理部128に揮発性の記憶装置への書き込み対象情報の記憶、すなわちインポートを行わせ(ステップS211)、処理を終了する。
(実施の形態1に係る読み出し制御処理について)
 次に、フローチャートを用いてPLC100が読み出し対象情報の読み出しを制御する動作について説明する。PLC100は、電源をオンにすると、図7、図8に示す読み出し制御処理の実行を開始する。先ず、図7に示すように、読み出し要求情報受信部112は、外部機器200から読み出し要求情報を受信し(ステップS301)、読み書き処理制御部126は、読み出し要求情報に基づいて、読み出し対象情報が不揮発性情報であるか否かを判定する(ステップS302)。
 読み書き処理制御部126は、読み出し対象情報が不揮発性情報である場合(ステップS302;Y)、不揮発性情報管理部127に不揮発性の記憶装置からの読み出し対象情報の取得、すなわちエクスポートを行わせる(ステップS303)。一方、読み書き処理制御部126は、読み出し対象情報が揮発性情報である場合(ステップS302;N)、揮発性情報管理部128に揮発性の記憶装置からの読み出し対象情報の取得、すなわちエクスポートを行わせる(ステップS304)。次に、読み書き処理制御部126は、認証決定部121に認証選択情報に基づいて認証処理を行うか否かを決定させ(ステップS305)、認証処理を行う決定がなされたか否かを判定する(ステップS306)。
 読み書き処理制御部126は、認証処理を行う決定がなされた場合(ステップS306;Y)、認証処理部122に外部機器200に対する認証処理を行わせ(ステップS307)、外部機器200が認証されたか否かを判定する(ステップS308)。読み書き処理制御部126は、外部機器200が認証されない場合(ステップS308;N)、又は、認証処理を行わない決定がなされた場合(ステップS306;N)、図8に示すように、秘匿範囲情報管理部125から取得した情報に基づいて読み出し対象情報に秘匿範囲情報が含まれているか否かを判定する(ステップS309)。
 読み書き処理制御部126は、読み出し対象情報に秘匿範囲情報が含まれている場合(ステップS309;Y)、秘匿化情報生成部124に秘匿範囲情報を特定不能情報に変換させることで秘匿化情報を生成させる(ステップS310)。そして、読み書き処理制御部126は、秘匿範囲情報を秘匿化情報に置き換えた読み出し対象情報である応答情報を生成する(ステップS311)。一方、読み書き処理制御部126は、読み出し対象情報に秘匿範囲情報が含まれていない場合(ステップS309;N)、又は、外部機器200が認証された場合(ステップS308;Y)、情報記憶部130の記憶装置から取得した読み出し対象情報である応答情報を生成する(ステップS312)。そして、読み書き処理制御部126は、応答情報送信部113に生成した応答情報を送信させ(ステップS313)、処理を終了する。
 以上説明したように、本実施の形態に係るPLC100によれば、読み出し要求情報受信部112は、読み出し対象情報の読み出し要求情報を外部機器200から受信する。また、秘匿化情報生成部124は、読み出し対象情報に秘匿範囲情報が含まれる場合、秘匿範囲情報を秘匿化した秘匿化情報を生成する。また、応答情報送信部113は、読み出し対象情報に秘匿範囲情報が含まれていない場合には応答情報として読み出し対象情報を送信する。一方、応答情報送信部113は、読み出し対象情報に秘匿範囲情報が含まれている場合には応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信する。
 このようにすることで、本実施の形態に係るPLC100は、外部機器200の認証を行わなくても第三者から秘匿範囲情報を保護できるとともに、外部機器から読み出し要求情報を受信する度に認証処理を行うPLCよりも処理負荷を低減できる。この結果、本開示に係るプログラマブルロジックコントローラは、第三者から秘匿したい情報を保護しつつ処理負荷を低減できる。
 また、本実施の形態に係るPLC100によれば、認証決定部121は、読み出し要求情報を受信した場合、外部機器200に対する認証処理を行うか否かを決定し、認証処理部122は、認証処理を行う決定がなされた場合、外部機器200に対する認証処理を行う。そして、応答情報送信部113は、認証処理を行わない決定がなされ且つ読み出し対象情報に秘匿範囲情報が含まれている場合、応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信する。
 このようにすることで、本実施の形態に係るPLC100は、読み出し要求情報を受信した場合、外部機器200の認証を行うか否かが選択することができる。また、本実施の形態に係るPLC100は、認証を行わない選択がなされたときにも第三者から秘匿範囲情報を保護できる。
 ここで、特許文献1のような従来のPLCでは、図9に示すように、生産監視システムの従来の外部機器がデバイスに記憶されている情報を読み出す場合、先ず、従来の外部機器は、認証処理を行う要求を示す認証要求情報を送信する。次に、従来のPLCは、当該要求情報を受信した後、従来の外部機器に対する認証処理を行い、当該外部機器を認証する。次に、認証された従来の外部機器は、読み出し要求情報を送信する。次に、従来のPLCは、読み出し要求情報を受信した後、読み出し対象情報に秘匿範囲情報が含まれているか否かのチェック処理を行い、チェック処理の結果がOKであれば応答情報を従来の外部機器に送信する。なお、従来のPLCでは、秘匿範囲情報が暗号化されずに書き込み対象情報がそのままデバイスに記憶されている。このため、従来のPLCは、認証されていない外部機器からの秘匿範囲情報の読み出しを防止するために、読み出し要求情報を受信する度にチェック処理を行っている。
 例えば、デバイスが図4に示すRAMである場合、読み出し対象情報がD0からD99までの記憶領域、又は、D300からD499までの記憶領域に記憶されている生産監視情報であれば読み出し対象情報に秘匿範囲情報が含まれていない。このため、図9に示すように、従来のPLCは、チェック処理の結果がOKとなり、読み出し対象情報を応答情報として生成し、従来の外部機器に送信する。一方、この場合、読み出し対象情報がD100からD299までの記憶領域に記憶されているノウハウ情報であれば読み出し対象情報に秘匿範囲情報が含まれている。このため、従来のPLCは、従来の外部機器が認証されていなければ、チェック処理の結果がNGであった旨を示すチェックNG情報を応答情報として生成し、従来の外部機器に送信する。
 このため、従来のPLCは、従来の外部機器から情報の読み出しが行われる度に認証処理、チェック処理を行っており、短い周期で情報の読み出しが行われることで処理負荷が大きくなる問題がある。この結果、従来のPLCでは、例えば、読み出し要求情報を受信してから応答情報を送信するまでのレイテンシが高くなったり、デバイスに記憶されている情報のスキャンに要する時間が長くなったりする虞がある。また、従来のPLCでは、デバイスにおいて情報を読み書きする処理負荷が大きくなることで、本来のシーケンス制御についても処理が遅延するといった悪影響を及ぼす虞がある。
 また、従来の外部機器は、通常であれば通信効率を考慮してデバイスから一定の範囲の記憶領域に記憶されている情報を一括で読み出そうとすることが多い。一方、従来のPLCでは、デバイスが記憶している情報に秘匿範囲情報が含まれていれば読み出す前に認証が必要となる。また、従来のPLCは、複数種類のデバイスを含むことがあり、記憶している情報に秘匿範囲情報が含まれ、読み出しに認証が必要なデバイスと、記憶している情報に秘匿範囲情報が含まれず、認証が不要なデバイスとが混在することがある。このため、従来の外部機器は、効率良く各デバイスから情報を読み出すために、認証が不要なデバイスから情報を一括で読み出すためのプログラムと、認証が必要なデバイスから情報を分割して読み出すためのプログラムとを別々に用意する必要がある。
 このため、従来の外部機器は、例えば、図4に示すRAMから生産監視情報を読み出す場合、図9に示すように、後者のプログラムを用いてD0からD99までの記憶領域に記憶されている生産監視情報とD300からD499までの記憶領域に記憶されている生産監視情報とを分割して読み出すことになる。この場合、従来のPLCは、前者のプログラムを用いて情報を一括で読み出すことができる場合よりも通信効率が悪くなる。
 さらに、従来のPLCでは、図9に示すように、読み出し対象情報に秘匿範囲情報が含まれている場合において従来の外部機器が認証されていなければチェックNG情報を応答情報として従来の外部機器に送信する。このため、チェックNG情報を応答情報として受信した従来の外部機器が悪意のある第三者が用いる外部機器である場合、第三者は、読み出し対象情報が記憶されているデバイスの記憶領域に秘匿範囲情報が記憶されていることを認識できる。この結果、従来のPLCは、チェックNG情報を応答情報として送信することで、秘匿範囲情報を盗用するための有益な情報を第三者に与えてしまうので、ハッキングの対象になり易くなる虞がある。
 これに対して、本実施の形態に係るPLC100では、図10に示すように、外部機器200がデバイスに記憶されている情報を読み出す場合、先ず、外部機器200は、認証要求情報を送信せずに読み出し要求情報を送信する。次に、PLC100は、読み出し要求情報を受信した後、読み出し対象情報に秘匿範囲情報が含まれているか否かに関わらず、読み出し対象情報に基づく応答情報を生成して外部機器200に送信する。
 このため、本実施の形態に係るPLCは、外部機器200から情報の読み出しが行われる度に従来のPLCで行っていた認証処理、チェック処理を行わないようにすることができる。この結果、本実施の形態に係るPLCは、従来のPLCよりも処理負荷が低減でき、読み出し要求情報を受信してから応答情報を送信するまでのレイテンシを低くしたり、デバイスに記憶されている情報のスキャンに要する時間を短縮したりすることができる。
 また、本実施の形態に係るPLC100は、読み出し対象情報に秘匿範囲情報が含まれていても応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信できる。このため、外部機器200は、効率良く各デバイスから情報を読み出すために、認証が不要なデバイスから情報を一括で読み出すためのプログラムと、認証が必要なデバイスから情報を分割して読み出すためのプログラムとを別々に用意しなくても読み出し対象情報を一括して読み出すことができる。
 よって、例えば、外部機器200は、図4に示すRAMから生産監視情報を読み出す場合、図10に示すように、D0からD499までの記憶領域に記憶されている生産監視情報を一括して読み出せばよい。この結果、本実施の形態に係るPLC100は、認証が必要なデバイスから情報を分割して読み出す従来のPLCよりも通信効率を向上することができる。
 さらに、外部機器200は、読み出し対象情報に秘匿範囲情報が含まれている場合、秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を応答情報として受信する。このため、応答情報を受信した外部機器200が悪意のある第三者が用いる外部機器である場合であっても、第三者は、応答情報に秘匿化情報が含まれていることを特定しなければ、読み出し対象情報に秘匿範囲情報が含まれていることを認識できない。この結果、本実施の形態に係るPLC100は、秘匿範囲情報を盗用するための有益な情報を第三者に与えないので、従来のPLCよりもハッキングの対象になり難くなる。
 また、本実施の形態に係るPLC100によれば、書き込み要求情報受信部111は、書き込み対象情報の書き込み要求情報を外部機器200から受信する。また、認証決定部121は、書き込み要求情報を受信した場合、認証処理を行う決定をし、認証処理部122は、外部機器200に対する認証処理を行う。また、秘匿範囲決定部123は、外部機器200が認証された場合、書き込み対象情報の秘匿範囲を決定する。そして、情報記憶部130は、秘匿範囲が決定された書き込み対象情報を記憶する。
 このようにすることで、本実施の形態に係るPLC100は、外部機器200を用いて書き込み対象情報の秘匿範囲を指定できるユーザを限定できる。この結果、本実施の形態に係るPLC100は、書き込み要求情報を受信する度に外部機器の認証を行わずに秘匿範囲を決定して秘匿化を行うPLCよりも秘匿化を行う頻度を低減でき、処理負荷を低減できる。
 また、本実施の形態に係るPLC100によれば、秘匿化情報生成部124は、書き込み対象情報に含まれる秘匿範囲情報を暗号化することで秘匿化情報を生成する。そして、情報記憶部130は、秘匿範囲情報が秘匿化情報に置き換えられた書き込み対象情報を記憶する。
 このようにすることで、本実施の形態に係るPLC100は、例えばインストールされているプログラムの欠陥、所謂セキュリティホールによって第三者が用いる外部端末から不正アクセスが行われても、情報記憶部130が記憶している情報の秘匿性を保持できる。
 また、本実施の形態に係るPLC100によれば、外部機器200が認証され且つ読み出し対象情報に秘匿範囲情報が含まれている場合、応答情報として秘匿範囲情報が暗号化された読み出し対象情報を送信する。そして、暗号化された秘匿範囲情報は、秘匿範囲情報を含む書き込み対象情報の書き込み要求情報を送信した外部機器200において復号化可能である。例えば、秘匿化情報生成部124は、公開鍵情報を用いて秘匿範囲情報を暗号化する一方、外部機器200は、公開鍵情報が示す公開鍵に対応する秘密鍵を示す情報である秘密鍵情報を用いて暗号化された秘匿範囲情報を復号化する。
 このようにすることで、本実施の形態に係るPLC100は、読み出し対象情報をPLC100に書き込ませた外部機器200のユーザのみが当該読み出し対象情報に含まれる暗号化した秘匿範囲情報を復号化して内容を確認できるので、秘匿範囲情報の秘匿性を保持できる。
 また、本実施の形態に係るPLC100によれば、情報記憶部130は、揮発性の記憶装置を含む。また、書き込み要求情報受信部111は、揮発性の記憶装置に記憶させる書き込み対象情報の書き込み要求情報を外部機器200から受信する。そして、読み出し要求情報受信部112は、揮発性の記憶装置が記憶している読み出し対象情報の読み出し要求情報を外部機器200から受信する。すなわち、本実施の形態に係るPLC100は、揮発性の記憶装置の揮発性情報を読み書きすることが可能となっており、例えば、RAMの記憶領域を単位とする揮発性の情報を読み書きすることが可能となっている。
 このようにすることで、本実施の形態に係るPLC100は、例えば、RAMといったデバイスに記憶されている上述した機器の制御情報、レシピ情報といった製品の生産監視に必要となる情報を適切に保護することができる。
 また、本実施の形態に係るPLC100によれば、情報記憶部130は、不揮発性の記憶装置を含む。また、書き込み要求情報受信部111は、不揮発性の記憶装置に記憶させる書き込み対象情報の書き込み要求情報を外部機器200から受信する。そして、読み出し要求情報受信部112は、不揮発性の記憶装置が記憶している読み出し対象情報の読み出し要求情報を外部機器200から受信する。すなわち、本実施の形態に係るPLC100は、不揮発性の記憶装置の不揮発性情報を読み書きすることが可能となっており、例えば、HDDに記憶されたファイルを単位とする不揮発性の情報を読み書きすることが可能となっている。
 このようにすることで、本実施の形態に係るPLC100は、例えば、上述した機器の制御情報、レシピ情報といった製品の生産監視に必要となる情報を不揮発性のファイル情報としてHDDに記憶、保存することができる。この結果、本実施の形態に係るPLC100は、例えば、停電時にバッテリ切れが発生しても生産監視に必要となる情報を保存することができる。
 また、本実施の形態に係るPLC100によれば、秘匿化情報生成部124は、読み出し対象情報に含まれる秘匿範囲情報を特定不能情報に変換することで秘匿化情報を生成する。そして、応答情報送信部113は、読み出し対象情報に秘匿範囲情報が含まれている場合、応答情報として秘匿範囲情報が特定不能情報に置き換えられた読み出し対象情報を送信可能である。すなわち、本実施の形態に係るPLC100は、応答情報に含まれる秘匿範囲情報を復元不能なダミーデータに置き換えることが可能となっている。
 このようにすることで、本実施の形態に係るPLC100は、秘匿範囲情報を特定不能情報に変換することで秘匿化情報を生成しないPLCよりも秘匿化を行うための処理負荷を低減でき、上述したレイテンシを低くすることができる。
[変更例]
 なお、本実施の形態では、PLC100は、読み出し対象情報に秘匿範囲情報が含まれる場合、外部機器200が認証されていなければ応答情報として秘匿範囲情報が特定不能情報に置き換えられた読み出し対象情報を送信したが、秘匿化情報については特定不能情報に限定されない。例えば、PLC100は、応答情報として秘匿範囲情報が暗号化された読み出し対象情報を送信してもよい。このようにすることで、PLC100は、情報記憶部130が記憶している情報をそのまま応答情報とすることができる。この結果、PLC100は、読み出し対象情報に秘匿範囲情報が含まれているか否かを判定する処理、秘匿化情報として特定不能情報を生成する処理、秘匿範囲情報を特定不能情報に置き換える処理を省略できる。
 なお、本実施の形態では、PLC100は、読み出し対象情報に秘匿範囲情報が含まれる場合、外部機器200が認証されていなければ応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信したが、秘匿化する情報については秘匿範囲情報に限定されない。例えば、PLC100は、応答情報として秘匿範囲情報だけでなく秘匿範囲情報とは異なる情報も含めた全ての情報が暗号化された読み出し対象情報を送信してもよい。この場合、生産監視システムの外部機器200では受信した暗号化された読み出し対象情報を復号化できるようにする必要がある一方、第三者が用いる外部端末では受信した暗号化された読み出し対象情報を復号化できないようにして第三者から秘匿範囲情報を保護する必要がある。
 なお、本実施の形態では、PLC100は、読み出し対象情報に秘匿範囲情報が含まれる場合、外部機器200が認証されていれば応答情報として情報記憶部130が記憶している情報を送信したが、外部機器200が認証されているときの応答情報についてはこれに限定されない。例えば、PLC100は、応答情報として暗号化された秘匿範囲情報を復号化された秘匿範囲情報に置き換えた読み出し対象情報を送信してもよい。なお、このように制御するために、PLC100は、暗号化された秘匿範囲情報を復号化できる必要がある。
 なお、本実施の形態のように、PLC100は、不正アクセスから秘匿範囲情報を保護するために、書き込み対象情報に秘匿範囲情報が含まれる場合、秘匿範囲情報を秘匿化情報に置き換えた書き込み対象情報を情報記憶部130に記憶することが好ましいが、これに限定されない。例えば、PLC100は、秘匿範囲情報を秘匿化情報に置き換えていない書き込み対象情報をそのまま情報記憶部130に記憶してもよい。この場合であっても、PLC100は、読み出し対象情報に秘匿範囲情報が含まれていれば、認証されていない外部機器200に応答情報として秘匿範囲情報が秘匿化情報に置き換えられた読み出し対象情報を送信できる。なお、この場合、PLC100は、外部機器200が認証されていれば応答情報として秘匿範囲情報が暗号化されていない読み出し対象情報をそのまま送信してもよい。このようにすることで、PLC100は、情報記憶部130が記憶している情報をそのまま応答情報とすることができる。
 なお、本実施の形態では、PLC100は、読み出し要求情報を受信した場合、外部機器200の認証を行うか否かを選択可能としたが、外部機器200の認証を行うか否かを選択可能でなくてもよい。例えば、PLC100は、読み出し要求情報を受信する度に外部機器200の認証を行うようにしてもよい。例えば、PLC100は、読み出し要求情報を受信しても外部機器200の認証を行わないようにしてもよい。
 なお、本実施の形態のように、PLC100は、秘匿範囲を指定できるユーザを限定するために、書き込み要求情報を受信する度に外部機器200の認証を行うことが好ましいが、外部機器200の認証を常に行わなくてもよい。例えば、PLC100は、書き込み要求情報を受信した場合も読み出し要求情報を受信した場合と同様に、外部機器200の認証を行うか否かを選択可能であってもよい。また、例えば、PLC100は、書き込み要求情報を受信しても外部機器200の認証を行わないようにしてもよい。
 なお、本実施の形態では、PLC100は、ユーザ名とパスワードによる認証処理を行っているが、認証処理の方法についてはこれに限定されない。例えば、電子証明書を用いた認証、ユーザ名及びパスワードだけでなくスマートフォンのアプリ・電子メール・SMS(Short Message Service)といったユーザが所有する携帯端末のソフトウェアを用いた二段階認証、指紋・虹彩といった生体情報を利用したFIDO(Fast IDentity Online)認証などの公知の認証技術を用いてもよい。
 なお、本実施の形態では、公知の公開鍵暗号のアルゴリズムを用いて秘匿範囲情報を暗号化したが、秘匿範囲情報を暗号化する方法についてはこれに限定されない。例えば、公知の共通鍵暗号のアルゴリズムを用いて秘匿範囲情報を暗号化してもよい。また、外部機器200のユーザが復号化可能である限りにおいて任意の暗号のアルゴリズムであってもよく、例えば、PLC100と外部機器200との間で取り決めた鍵を用いない非公開の暗号のアルゴリズムであってもよい。
 なお、本実施の形態のように、PLC100は、生産監視に必要となる情報を不揮発性情報として保存するために、不揮発性の記憶装置に記憶されるファイル情報を外部機器200が読み書き可能であることが好ましいが、これに限定されない。例えば、PLC100は、デバイスに記憶される揮発性の情報を外部機器200が読み書き可能である一方、不揮発性の記憶装置に記憶されるファイル情報を外部機器200が読み書きできなくてもよい。
 なお、制御部51、主記憶部52、外部記憶部53、操作部54、送受信部56、内部バス50を備えるPLC100が処理を行う中心となる部分は、例えば、前記の動作を実行するためのプログラムを、PLC100が読み取り可能な記録媒体、例えば、フラッシュメモリに格納して配布し、当該プログラムをインストールすることにより、上記の処理を実行するPLC100を構成してもよい。また、LAN、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該プログラムを格納しておき、PLC100が当該プログラムをダウンロードすることでPLC100を構成してもよい。
 また、PLC100の機能は、OS(Operating System)とアプリケーションプログラムの分担、又はOSとアプリケーションプログラムとの協働により実現する場合には、アプリケーションプログラム部分のみを記録媒体又は記憶装置に格納してもよい。
 また、搬送波にプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板(BBS、Bulletin Board System)にプログラムを掲示し、ネットワークを介してプログラムを提供してもよい。そして、プログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行してもよい。
 本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本開示を説明するためのものであり、本開示の範囲を限定するものではない。つまり、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、本開示の範囲内とみなされる。
50…内部バス、51…制御部、52…主記憶部、53…外部記憶部、54…操作部、56…送受信部、59…制御プログラム、100…PLC、110…情報送受信部、111…書き込み要求情報受信部、112…読み出し要求情報受信部、113…応答情報送信部、120…情報処理部、121…認証決定部、122…認証処理部、123…秘匿範囲決定部、124…秘匿化情報生成部、125…秘匿範囲情報管理部、126…読み書き処理制御部、127…不揮発性情報管理部、128…揮発性情報管理部、130…情報記憶部、200…外部機器、300…インターネット。

Claims (10)

  1.  外部機器との情報の送受信が可能なプログラマブルロジックコントローラであって、
     読み出し対象となる情報である読み出し対象情報の読み出し要求を示す読み出し要求情報を前記外部機器から受信する読み出し要求情報受信部と、
     前記読み出し対象情報に秘匿範囲の情報である秘匿範囲情報が含まれる場合、前記秘匿範囲情報を秘匿化した情報である秘匿化情報を生成する秘匿化情報生成部と、
     前記読み出し要求情報を受信した場合、前記読み出し要求情報に応答する情報である応答情報を前記外部機器に送信する応答情報送信部と、
     を備え、
     前記応答情報送信部は、前記読み出し対象情報に前記秘匿範囲情報が含まれていない場合、前記応答情報として前記読み出し対象情報を送信する一方、前記読み出し対象情報に前記秘匿範囲情報が含まれている場合、前記応答情報として前記秘匿範囲情報が前記秘匿化情報に置き換えられた前記読み出し対象情報を送信する、
     プログラマブルロジックコントローラ。
  2.  前記読み出し要求情報を受信した場合、前記外部機器に対する認証処理を行うか否かを決定する認証決定部と、
     前記認証処理を行う決定がなされた場合、前記外部機器に対する前記認証処理を行う認証処理部と、
     を更に備え、
     前記応答情報送信部は、前記認証処理を行わない決定がなされ且つ前記読み出し対象情報に前記秘匿範囲情報が含まれている場合、前記応答情報として前記秘匿範囲情報が前記秘匿化情報に置き換えられた前記読み出し対象情報を送信する、
     請求項1に記載のプログラマブルロジックコントローラ。
  3.  書き込み対象となる情報である書き込み対象情報の書き込み要求を示す書き込み要求情報を前記外部機器から受信する書き込み要求情報受信部、
     を更に備え、
     前記認証決定部は、前記書き込み要求情報を受信した場合、前記認証処理を行う決定をし、
     前記外部機器が認証された場合、前記書き込み対象情報の前記秘匿範囲を決定する秘匿範囲決定部と、
     前記秘匿範囲が決定された前記書き込み対象情報を記憶する情報記憶部と、
     を更に備える、
     請求項2に記載のプログラマブルロジックコントローラ。
  4.  前記秘匿化情報生成部は、前記書き込み対象情報に含まれる前記秘匿範囲情報を暗号化することで前記秘匿化情報を生成し、
     前記情報記憶部は、前記秘匿範囲情報が前記秘匿化情報に置き換えられた前記書き込み対象情報を記憶する、
     請求項3に記載のプログラマブルロジックコントローラ。
  5.  前記応答情報送信部は、前記外部機器が認証され且つ前記読み出し対象情報に前記秘匿範囲情報が含まれている場合、前記応答情報として前記秘匿範囲情報が暗号化された前記読み出し対象情報を送信し、
     前記暗号化された前記秘匿範囲情報は、前記秘匿範囲情報を含む前記書き込み対象情報の前記書き込み要求情報を送信した前記外部機器において復号化可能である、
     請求項4に記載のプログラマブルロジックコントローラ。
  6.  前記情報記憶部は、揮発性の記憶装置を含み、
     前記書き込み要求情報受信部は、前記揮発性の記憶装置に記憶させる前記書き込み対象情報の前記書き込み要求情報を前記外部機器から受信し、
     前記読み出し要求情報受信部は、前記揮発性の記憶装置が記憶している前記読み出し対象情報の前記読み出し要求情報を前記外部機器から受信する、
     請求項3に記載のプログラマブルロジックコントローラ。
  7.  前記情報記憶部は、不揮発性の記憶装置を含み、
     前記書き込み要求情報受信部は、前記不揮発性の記憶装置に記憶させる前記書き込み対象情報の前記書き込み要求情報を前記外部機器から受信し、
     前記読み出し要求情報受信部は、前記不揮発性の記憶装置が記憶している前記読み出し対象情報の前記読み出し要求情報を前記外部機器から受信する、
     請求項3に記載のプログラマブルロジックコントローラ。
  8.  前記秘匿化情報生成部は、前記読み出し対象情報に含まれる前記秘匿範囲情報を当該秘匿範囲情報が特定不能となる情報である特定不能情報に変換することで前記秘匿化情報を生成し、
     前記応答情報送信部は、前記読み出し対象情報に前記秘匿範囲情報が含まれている場合、前記応答情報として前記秘匿範囲情報が前記特定不能情報に置き換えられた前記読み出し対象情報を送信する、
     請求項1に記載のプログラマブルロジックコントローラ。
  9.  プログラマブルロジックコントローラの制御方法であって、
     前記プログラマブルロジックコントローラが、読み出し対象となる情報である読み出し対象情報の読み出し要求を示す読み出し要求情報を外部機器から受信する読み出し要求情報受信ステップと、
     前記プログラマブルロジックコントローラが、前記読み出し対象情報に秘匿範囲の情報である秘匿範囲情報が含まれている場合、前記秘匿範囲情報を秘匿化した情報である秘匿化情報を生成する秘匿化情報生成ステップと、
     前記プログラマブルロジックコントローラが、前記読み出し要求情報を受信した場合、前記読み出し対象情報に前記秘匿範囲情報が含まれていれば前記読み出し要求情報に応答する情報である応答情報として前記秘匿範囲情報が前記秘匿化情報に置き換えられた前記読み出し対象情報を前記外部機器に送信する応答情報送信ステップと、
     を含む制御方法。
  10.  プログラマブルロジックコントローラを、
     読み出し対象となる情報である読み出し対象情報の読み出し要求を示す読み出し要求情報を外部機器から受信する読み出し要求情報受信部、
     前記読み出し対象情報に秘匿範囲の情報である秘匿範囲情報が含まれている場合、前記秘匿範囲情報を秘匿化した情報である秘匿化情報を生成する秘匿化情報生成部、
     前記読み出し要求情報を受信した場合、前記読み出し対象情報に前記秘匿範囲情報が含まれていれば前記読み出し要求情報に応答する情報である応答情報として前記秘匿範囲情報が前記秘匿化情報に置き換えられた前記読み出し対象情報を前記外部機器に送信する応答情報送信部、
     として機能させるプログラム。
PCT/JP2022/021611 2022-05-26 2022-05-26 プログラマブルロジックコントローラ、制御方法及びプログラム WO2023228373A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/021611 WO2023228373A1 (ja) 2022-05-26 2022-05-26 プログラマブルロジックコントローラ、制御方法及びプログラム
JP2022558352A JP7221462B1 (ja) 2022-05-26 2022-05-26 プログラマブルロジックコントローラ、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/021611 WO2023228373A1 (ja) 2022-05-26 2022-05-26 プログラマブルロジックコントローラ、制御方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2023228373A1 true WO2023228373A1 (ja) 2023-11-30

Family

ID=85197953

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/021611 WO2023228373A1 (ja) 2022-05-26 2022-05-26 プログラマブルロジックコントローラ、制御方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7221462B1 (ja)
WO (1) WO2023228373A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014016938A1 (ja) * 2012-07-26 2014-01-30 三菱電機株式会社 プログラマブルロジックコントローラ
WO2014049830A1 (ja) * 2012-09-28 2014-04-03 富士通株式会社 情報処理装置および半導体装置
JP2015069371A (ja) * 2013-09-27 2015-04-13 株式会社東芝 情報処理装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5928421B2 (ja) * 2013-08-23 2016-06-01 富士ゼロックス株式会社 情報処理装置、画像処理装置、情報処理システム、およびプログラム
JP6186387B2 (ja) * 2015-03-19 2017-08-23 株式会社日立製作所 秘匿データ処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014016938A1 (ja) * 2012-07-26 2014-01-30 三菱電機株式会社 プログラマブルロジックコントローラ
WO2014049830A1 (ja) * 2012-09-28 2014-04-03 富士通株式会社 情報処理装置および半導体装置
JP2015069371A (ja) * 2013-09-27 2015-04-13 株式会社東芝 情報処理装置

Also Published As

Publication number Publication date
JPWO2023228373A1 (ja) 2023-11-30
JP7221462B1 (ja) 2023-02-13

Similar Documents

Publication Publication Date Title
US10142107B2 (en) Token binding using trust module protected keys
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
CN102638568B (zh) 云存储系统及其数据管理方法
EP2874151B1 (en) Method and apparatus for controlling access to encrypted data
EP2251810B1 (en) Authentication information generation system, authentication information generation method, and authentication information generation program utilizing a client device and said method
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
US20120290833A1 (en) Certificate Blobs for Single Sign On
CN109936546B (zh) 数据加密存储方法和装置以及计算设备
CN107315966B (zh) 固态硬盘数据加密方法及系统
TW201839645A (zh) 儲存裝置及其存取權限控制方法
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
CN103701596A (zh) 文件访问及响应文件访问请求的方法、系统和设备
CN104866784A (zh) 一种基于bios加密的安全硬盘、数据加密及解密方法
CN112860791A (zh) 一种跨网数据同步控制系统、方法及存储介质
US20230269078A1 (en) Key sharing method, key sharing system, authenticating device, authentication target device, recording medium, and authentication method
CN114629639A (zh) 基于可信执行环境的密钥管理方法、装置和电子设备
JP6930053B2 (ja) 装置認証キーを利用したデータ暗号化方法およびシステム
KR102219305B1 (ko) 클라우드 환경에서 안전한 개인 자료 파일 보호 시스템
CN113127844A (zh) 一种变量访问方法、装置、系统、设备和介质
WO2023228373A1 (ja) プログラマブルロジックコントローラ、制御方法及びプログラム
CN112400295B (zh) 管理与单个公共密钥相关联的多个用户设备的中央私密密钥
KR100952300B1 (ko) 저장매체의 안전한 데이터 관리를 위한 단말 장치, 메모리및 그 방법
CN108184230B (zh) 一种软sim实现加密的系统及方法
JP2006190050A (ja) マルチタスク実行システム及びマルチタスク実行方法
CN110730166A (zh) 数据加密和数据解密方法、系统、计算机设备和存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2022558352

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22943773

Country of ref document: EP

Kind code of ref document: A1