WO2022185583A1 - 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法 - Google Patents

制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法 Download PDF

Info

Publication number
WO2022185583A1
WO2022185583A1 PCT/JP2021/034470 JP2021034470W WO2022185583A1 WO 2022185583 A1 WO2022185583 A1 WO 2022185583A1 JP 2021034470 W JP2021034470 W JP 2021034470W WO 2022185583 A1 WO2022185583 A1 WO 2022185583A1
Authority
WO
WIPO (PCT)
Prior art keywords
control device
area
common key
data
program
Prior art date
Application number
PCT/JP2021/034470
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 オムロン株式会社
Publication of WO2022185583A1 publication Critical patent/WO2022185583A1/ja

Links

Images

Classifications

    • 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/31User 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords

Definitions

  • the present disclosure relates to a control device and a program and method for managing input/output of data stored in a storage unit of the control device.
  • Patent Document 1 discloses a programmable logic controller comprising a master unit and one or more slave units.
  • the master unit has an organization information table for managing the IO numbers assigned to the slave units, and uses the IO numbers assigned to the slave units from the password split data obtained by splitting the password set in the master unit to obtain the password distributed information. to generate
  • the slave unit stores password distribution information sent from the master unit.
  • password management costs for the system administrator can be reduced by preventing password information from leaking out.
  • the data related to the controlled object stored in the control device may include a user program (for example, a control program that controls the controlled object) created by the vendor that provides the control device to the user. If the end user who purchased the control device from the vendor can copy the user program stored in the control device to another control device and operate it, the vendor will pay for the other control device from the end user. You may lose the chance to get more. Therefore, it is necessary for the vendor of the control device to prevent the copy of the data related to the control object saved in the control device from being used in another control device. On the other hand, if a control device fails, the end user can replace the failed control device with another control device that operates normally by duplicating the data related to the controlled object stored in the control device to another control device. can be substituted for Therefore, it is necessary for the end user to have a copy of the data about the control object stored in the control device available in other control devices.
  • a user program for example, a control program that controls the controlled object
  • the present disclosure has been made to solve the above-described problems, and the purpose thereof is to protect the interests of the vendor of the control device while preventing the productivity of the end user of the control device from deteriorating. .
  • a control device includes a storage unit, a first area management unit, and a second area management unit.
  • the storage unit includes a first area and a second area storing a common key.
  • the first area manager encrypts the data stored in the first area using the common key and outputs the encrypted data.
  • the second area manager authenticates access to the second area from a device other than the control device using the first password.
  • the first area management unit decrypts update data encrypted using the common key using the common key, and updates the second area using the decrypted update data.
  • the data stored in the first area is encrypted with the common key and output, so that the end user can decrypt the data in another control device in which the common key is stored, Since the control device can be replaced by the other control device, it is possible to prevent a decrease in productivity.
  • the vendor of the control device can limit the devices that can copy the data stored in the first area of the control device to the control devices manufactured by the vendor. Therefore, the vendor can protect the opportunity to obtain compensation for the control device from the end user.
  • the second password may be stored in the first area.
  • the first area manager may authenticate the update using the second password.
  • the common key may have a unique value for a specific user associated with the control device.
  • the end user's information assets contained in the first area are prevented by preventing the encrypted data in the first area from being decrypted in a controller manufactured for another end user. can be prevented from being leaked to other end users.
  • a program manages input/output of data stored in the storage unit of the control device, including the first area and the second area.
  • the program authenticates access to the second area from a device different from the control device using a password, stores a common key in the second area, and stores the common key in the first area by being executed by a processor. using the common key to encrypt and output the data stored in the Update the second area.
  • the data stored in the first area is encrypted with the common key and output, so that the end user can decrypt the data in another control device in which the common key is stored, Since the control device can be replaced by the other control device, it is possible to prevent a decrease in productivity.
  • the vendor of the control device can limit the devices that can copy the data stored in the first area of the control device to the control devices manufactured by the vendor. Therefore, the vendor can protect the opportunity to obtain compensation for the control device from the end user.
  • a method manages input/output of data stored in a storage unit of a control device, including a first area and a second area.
  • the method includes steps of authenticating access to the second area from a device different from the control device using a password; storing a common key in the second area; using the common key to decrypt the update data encrypted using the common key; and using the decrypted update data to decrypt the update data. and performing a two-region update.
  • the data stored in the first area is encrypted with the common key and output, so that the end user can decrypt the data in another control device in which the common key is stored, Since the control device can be replaced by the other control device, it is possible to prevent a decrease in productivity.
  • the vendor of the control device can limit the devices that can copy the data stored in the first area of the control device to the control devices manufactured by the vendor. Therefore, the vendor can protect the opportunity to obtain compensation for the control device from the end user.
  • the data saved in the first area is encrypted with the common key and output, thereby protecting the interests of the vendor of the control device. of end-user productivity can be prevented.
  • FIG. 2 is a schematic diagram showing a configuration example of a control system including the control device of FIG. 1;
  • FIG. 3 is a schematic diagram showing a hardware configuration example of a control device in FIG. 2;
  • FIG. 3 is a schematic diagram showing a hardware configuration example of a support device in FIG. 2;
  • FIG. 4 is a diagram showing phases in which update data is input to a control device and phases in which update data is output from the control device;
  • FIG. 10 is a diagram showing an example of a password setting dialog displayed on the screen of the support device by the secure area management unit in FIG. 1 when the support device enables backup/restore key management in the control device;
  • FIG. 10 is a diagram showing an example of a password setting dialog displayed on the screen of the support device by the secure area management unit in FIG. 1 when the support device enables backup/restore key management in the control device;
  • FIG. 1 is a schematic diagram showing a configuration example of a control system including the control device of FIG. 1
  • FIG. 3 is
  • FIG. 10 is a diagram showing an example of an authentication dialog displayed on the screen of the support device by the secure region management unit when a vendor password is set and access to the secure region from a device other than the control device is detected.
  • FIG. 10 is a diagram showing an example of a common key setting dialog displayed on the screen of the support device by the secure area management unit when access to the secure area is permitted;
  • 6 is a flow chart showing the flow of vendor password setting processing performed by the secure area management unit of FIG. 1 when backup/restore key management is enabled by the vendor of FIG. 5;
  • 2 is a flow chart showing the flow of common key setting processing performed by the secure area management unit of FIG. 1;
  • 4 is a flow chart showing the flow of backup processing performed by the user area management unit of FIG. 1;
  • 4 is a flow chart showing the flow of restore processing performed by the user area management unit of FIG. 1;
  • FIG. 1 is a block diagram showing the configuration of a control device 100 according to an embodiment.
  • the control device 100 includes a storage unit 1, a user area management unit 2 (first area management unit), and a secure area management unit 3 (second area management unit).
  • the storage unit 1 includes a system area 10, a user area 11 (first area), and a secure area 12 (second area).
  • the user area 11 stores data Du regarding the controlled object and an online password Pw2 (second password).
  • the secure area 12 stores a common key Kc1 and a vendor password Pw1 (first password). Common key Kc1 is commonly used for both encryption and decryption of data.
  • the secure area management unit 3 performs vendor password setting processing and stores the entered vendor password Pw1 in the secure area 12 .
  • Secure area management unit 3 saves input common key Kc1 in secure area 12 after authentication using vendor password Pw1.
  • the secure area management unit 3 authenticates access to the secure area 12 from a device other than the control device 100 using the vendor password Pw1.
  • the user area management unit 2 encrypts the data Du regarding the controlled object using the common key Kc1 and outputs it as update data Db1.
  • the user area management unit 2 uses the common key Kc1 to decrypt the encrypted update data Db2 using the common key Kc1, and updates the user area 11 using the decrypted update data Db2.
  • the user area management unit 2 authenticates the update of the user area 11 using the online password Pw2.
  • FIG. 2 is a schematic diagram showing a configuration example of a control system 1000 including the control device 100 of FIG.
  • control system 1000 includes a group of devices configured to allow multiple devices to communicate with each other.
  • a device may include a control device 100 that is a main processing entity that executes a control program, and peripheral devices connected to the control device 100 .
  • the control device 100 corresponds to an industrial controller that controls controlled objects such as various facilities or devices.
  • the control device 100 is a type of computer that executes control calculations, and typically includes a PLC (Programmable Logic Controller).
  • a field device 500 is connected to the control device 100 via the field network 20 .
  • the control device 100 exchanges data with at least one field device 500 via the field network 20 .
  • the control operation executed by the control device 100 includes a process of collecting data collected or generated by the field device 500, a process of generating data such as a command value for the field device 500, and a process of transmitting the generated output data to the target field device. 500, and the like.
  • the field network 20 preferably employs a bus or network that performs periodic communication.
  • EtherCAT registered trademark
  • EtherNet/IP registered trademark
  • DeviceNet registered trademark
  • CompoNet registered trademark
  • EtherCAT registered trademark
  • EtherCAT is preferable in terms of guaranteed arrival time of data.
  • Any field device 500 can be connected to the field network 20 .
  • the field device 500 includes actuators that exert some physical action on robots, conveyors, and the like in the field, input/output devices that exchange information with the field, and the like.
  • the field device 500 includes a plurality of servo drivers 520_1 and 520_2, and a plurality of servo motors 522_1 and 522_2 respectively connected to the plurality of servo drivers 520_1 and 520_2.
  • Field device 500 is an example of a “controlled object”.
  • the servo drivers 520_1 and 520_2 drive the corresponding servo motors of the servo motors 522_1 and 522_2 according to command values from the control device 100 (for example, position command values or speed command values). In this manner, the controller 100 can control the field device 500.
  • command values from the control device 100 (for example, position command values or speed command values). In this manner, the controller 100 can control the field device 500.
  • the control device 100 is also connected to other devices via the host network 60.
  • the upper network 60 is connected to the Internet, which is an external network, via a gateway 700 .
  • the upper network 60 may adopt Ethernet (registered trademark) or EtherNet/IP (registered trademark), which are general network protocols. More specifically, at least one server device 300 and at least one display device 400 may be connected to the host network 60 .
  • a database system As the server device 300, a database system, a manufacturing execution system (MES), or the like is assumed.
  • the manufacturing execution system acquires information from manufacturing equipment or facilities to be controlled, monitors and manages the entire production, and can handle order information, quality information, shipping information, and the like.
  • a device that provides information system services may be connected to the host network 60 .
  • an information system service a process of acquiring information from a manufacturing device or facility to be controlled and performing a macroscopic or microscopic analysis is assumed. For example, as an information system service, data mining that extracts some characteristic tendency contained in information from controlled manufacturing equipment or equipment, or machine learning based on information from controlled equipment or machines Machine learning tools and the like are assumed.
  • the display device 400 receives an operation from the user, outputs a command according to the user's operation to the control device 100, and graphically displays the calculation result of the control device 100 and the like.
  • a support device 200 can be connected to the control device 100 .
  • the support device 200 is a device that assists the preparation necessary for the control device 100 to control the controlled object.
  • the support device 200 includes a development environment (program creation and editing tool, parser, compiler, etc.) for programs executed by the control device 100, configuration information of the control device 100 and various devices connected to the control device 100. It provides a setting environment for setting (configuration), a function to output the generated program to the control device 100, and a function to modify and change the program executed on the control device 100 online.
  • control device 100 the control device 100, the support device 200, and the display device 400 are separately configured, but a configuration is adopted in which all or part of these functions are integrated into a single device. may be
  • the control device 100 is used not only at one production site, but also at other production sites. Moreover, it may be used in a plurality of different lines even within one production site.
  • FIG. 3 is a schematic diagram showing a hardware configuration example of the control device 100 in FIG.
  • the control device 100 includes, as main components, a processor 102, a chipset 104, a main memory device 106, a secondary memory device 108, an upper network controller 110, and a support device interface 112. , a memory card interface 114, a field network controller 116, an internal bus controller 120, an indicator 124, a DIP (Dual In-line Package) switch interface 125, a DIP switch 126, a power supply switch interface 127, and a power supply switch 128.
  • a processor 102 includes, as main components, a processor 102, a chipset 104, a main memory device 106, a secondary memory device 108, an upper network controller 110, and a support device interface 112.
  • a memory card interface 114 includes, as main components, a main memory device 106, a secondary memory device 108, an upper network controller 110, and a support device interface 112.
  • the secondary storage device 108 is typically, for example, a HDD (Hard Disk Drive), SSD (Solid State Drive), ROM (Read Only Memory), EPROM (Erasable Programmable Read Only Memory), or EEPROM (Electrically Erasable Programmable Equipped with a non-volatile storage device such as Read-Only Memory).
  • HDD Hard Disk Drive
  • SSD Solid State Drive
  • ROM Read Only Memory
  • EPROM Erasable Programmable Read Only Memory
  • EEPROM Electrically Erasable Programmable Equipped with a non-volatile storage device such as Read-Only Memory
  • the secondary storage device 108 includes a system area 10 and a user area 11.
  • the system area 10 stores a system program 95, a user area management program Pg1, and a system setting file 96.
  • the system program 95 includes an OS (Operating System) program and a user area management program Pg1.
  • the system program 95 provides a program execution environment for operating the user program 97 stored in the user area 11 .
  • a user program 97, a user setting file 98, and a user variable 99 are stored in the user area 11.
  • the user program 97 is a program that is created by the vendor of the control device 100 in accordance with the manufacturing device or equipment to be controlled, and that defines commands for controlling the control target.
  • User settings file 98 includes online password Pw2.
  • a user variable 99 contains a value indicating a backup/restore instruction.
  • the user area 11 contains product recipe data, retention variables related to various processes, traceability data, data related to spooling (SQL queuing), logs related to the operation of the system and equipment, error information, configuration information in the system ( unit slave settings), security information (account information, certificates, and access control), unit memory values, and absolute encoders.
  • the end user can create desired data in the user area 11 based on the end user's knowledge, experience, and agreements.
  • the user area 11 can contain data as information assets reflecting the end user's unique expertise.
  • Chipset 104 mediates the exchange of data between the processor 102 and each component, thereby realizing the processing of the control device 100 as a whole.
  • Chipset 104 comprises a plurality of chips mounted on a substrate.
  • the plurality of chips includes secure chip 105 .
  • Secure chip 105 includes non-volatile memory 107 .
  • Memory 107 includes secure area 12 .
  • the secure area 12 stores a secure area management program Pg2, a common key Kc1, and a vendor password Pw1.
  • the processor 102 includes, for example, a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit).
  • the processor 102 reads various programs stored in the secondary storage device 108 or the memory 107, develops them in the main storage device 106, and executes them, thereby realizing various processes including control calculation and service processing.
  • the main memory device 106 includes a volatile memory device such as DRAM (Dynamic Random Access Memory) or SRAM (Static Random Access Memory).
  • DRAM Dynamic Random Access Memory
  • SRAM Static Random Access Memory
  • the host network controller 110 controls data exchange with external devices (for example, the server device 300 and the display device 400 shown in FIG. 1) via the host network 60 .
  • Field network controller 116 controls data exchange with field device 500 via field network 20 .
  • An industrial network protocol such as EtherCAT (registered trademark), EtherNet/IP (registered trademark), DeviceNet (registered trademark), or CompoNet (registered trademark) is adopted for each of upper network controller 110 and field network controller 116. good too.
  • the support device interface 112 controls data exchange with the support device 200 via, for example, a USB (Universal Serial Bus) connection or EtherNet communication.
  • USB Universal Serial Bus
  • EtherNet EtherNet
  • the memory card interface 114 is configured such that the memory card 115 can be attached/detached, and data such as a user program or various settings can be written to the memory card 115 .
  • Memory card interface 114 is configured to be able to read data such as the program or various settings from memory card 115 .
  • the internal bus controller 120 controls data exchange with an I/O (Input/Output) unit 122 attached to the control device 100 .
  • the internal bus controller 120 may use a communication protocol specific to the PLC manufacturer, or may use a communication protocol that is the same as or conforms to any industrial network protocol.
  • the indicator 124 notifies the operating state of the control device 100 and the like.
  • the indicator 124 is composed of at least one LED (Light Emitting Diode) or the like arranged on the surface of the control device 100 .
  • the DIP switch 126 is connected to the chipset 104 via the DIP switch interface 125.
  • DIP switch 126 includes a plurality of switches Sw1, Sw2, Sw3, Sw4. Each of the plurality of switches Sw1-Sw4 selectively switches its state between ON and OFF.
  • the activation mode of the control device 100 is switched by a combination of a plurality of switches Sw1 to Sw4 that are switched ON or OFF.
  • Boot modes include normal mode, backup mode, and restore mode. In FIG. 3, all of the switches Sw1-Sw4 are switched ON and the activation mode specified by the DIP switch 126 is the normal mode.
  • the backup mode for example, the switches Sw1 and Sw3 are switched ON and the switches Sw2 and Sw4 are switched OFF.
  • the restore mode for example, the switches Sw1 and Sw3 are switched OFF and the switches Sw2 and Sw4 are switched ON.
  • the power supply switch 128 is connected to the chipset 104 via the power supply switch interface 127 .
  • Power supply switch 128 switches between starting and stopping power supply from a power source (not shown) to control device 100 .
  • the control device 100 is activated in the activation mode designated by the DIP switch 126 .
  • the secondary storage device 108 and the memory 107 of the secure chip 105 correspond to the storage unit 1 in FIG.
  • a processor 102 that executes the user area management program Pg1 corresponds to the user area management unit 2 in FIG.
  • a processor 102 that executes the secure area management program Pg2 corresponds to the secure area management unit 3 in FIG.
  • the memory 107 and the secondary storage device 108 may be formed as one storage device instead of separate storage devices.
  • the user area management program Pg1 and the secure area management program Pg2 may be created as one program instead of separate programs.
  • FIG. 3 shows a hardware configuration example of the control device 100 in which necessary functions are provided by the processor 102 executing the program.
  • Some or all of the functions may be implemented using a dedicated hardware circuit (for example, ASIC (Application Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
  • the main part of control device 100 may be implemented using hardware following a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer).
  • a general-purpose architecture for example, an industrial personal computer based on a general-purpose personal computer.
  • virtualization technology may be used to execute a plurality of OSs with different purposes in parallel, and necessary applications may be executed on each OS.
  • FIG. 4 is a schematic diagram showing a hardware configuration example of the support device 200 in FIG.
  • Support device 200 is realized, for example, by executing a program by a computer following a general-purpose architecture.
  • the support device 200 includes a processor 202, a volatile memory 204, a non-volatile memory 206, a hard disk drive (HDD) 208, a display 250, a keyboard 210, a mouse 212, A memory card interface 214 and an external device interface 218 are provided. These components are communicatively connected to each other via processor bus 220 .
  • the processor 202 is composed of a CPU, a GPU, etc., reads a program (for example, a support program 230) stored in the nonvolatile memory 206 and the HDD 208, develops it in the volatile memory 204, and executes it to perform various processes.
  • a program for example, a support program 230
  • the functions necessary for the support device 200 are provided by the processor 202 executing a predetermined program. Some or all of the functionality may be implemented using dedicated hardware circuits (eg, ASICs, FPGAs, etc.).
  • the volatile memory 204 is composed of various volatile storage devices such as DRAM and SRAM.
  • the nonvolatile memory 206 is composed of various nonvolatile storage devices such as SSD.
  • the non-volatile memory 206 and HDD 208 store a support program 230 for providing the function of the support device 200 in addition to the OS for realizing basic functions.
  • the support program 230 is stored in the HDD 208 of the support device 200 .
  • the support program 230 defines instructions for causing the computer to function as the support device 200 .
  • the display 250 outputs processing results from the processor 202 and the like.
  • a keyboard 210 and a mouse 212 accept user operations when creating various programs such as a user program and when the user inputs setting values and the like according to a control target.
  • the memory card interface 214 is configured such that the memory card 115 is detachable, and various data (user programs, etc.) can be written to the memory card 115 and various data can be read from the memory card 115.
  • the external device interface 218 exchanges data with any external device such as the control device 100 via a network.
  • the support device 200 may be equipped with an optical drive, which stores a computer-readable program from an optical recording medium such as a DVD (Digital Versatile Disc) that non-transitoryly stores the program.
  • a program (such as a support program) stored therein is read and installed in the nonvolatile memory 206 or HDD 208 or the like.
  • the support program 230 and the like executed in the support device 200 may be installed via a computer-readable DVD, or may be installed by downloading from the server device 300 or the like on the network. Also, the functions provided by the support device 200 may be realized by using some of the modules provided by the OS.
  • FIG. 5 is a diagram showing phases in which update data is input to the control device 100 and phases in which the update data is output from the control device 100.
  • vendor Uv acquires PLC 90 from a PLC manufacturer and produces control device 100 .
  • An example of the vendor Uv is a system integrator called SIer.
  • Vendor Uv sets up the control device 100 using the support device 200A. Specifically, vendor Uv installs a system program in system area 10 of control device 100 . Vendor Uv installs the first version of the user program in the user area 11 of the control device 100 . Vendor Uv installs secure area management program Pg2 in secure area 12 of control device 100 .
  • the vendor Uv sets the vendor password Pw1 and stores it in the secure area 12, and stores the common key Kc1 in the secure area 12 as well.
  • FIG. 6 is an example of a password setting dialog displayed on the screen of the support device 200A by the secure area management unit 3 of FIG. It is a figure which shows.
  • Backup means duplicating data saved in the user area 11 of the control device 100 as backup data (update data).
  • Restoration means updating the user area of the control device 100 using backup data.
  • Backup/restore key management means encrypting backup data using a common key in backup and decrypting the encrypted backup data using the common key in restoring.
  • the password setting dialog Dg1 includes edit boxes Eb1 and Eb2, an OK button, and a Cancel button.
  • Vendor Uv inputs a desired character string to be set as vendor password Pw1 in each of edit boxes Eb1 and Eb2.
  • the secure area management unit 3 corrects the character string input in the edit box Eb1. is set as the vendor password Pw1, and the character string is stored in the secure area 12.
  • Vendor password Pw1 is managed by vendor Uv as a character string unique to the end user who purchases control device 100 .
  • the vendor password Pw1 is kept secret from the end user Ue.
  • the end user Ue cannot know the contents of the common key Kc1.
  • FIG. 7 shows an authentication password displayed on the screen of support device 200A by secure region management unit 3 when vendor password Pw1 is set and access to secure region 12 from a device other than control device 100 is detected.
  • the authentication dialog Dg2 includes an edit box Eb3, an OK button, and a cancel button.
  • the OK button is pressed and the character string entered in the edit box Eb3 matches the vendor password Pw1 stored in the secure area 12, the secure area management unit 3 permits access to the secure area 12.
  • the secure Preferably, authentication of access to area 12 is prohibited.
  • FIG. 8 is a diagram showing an example of a common key setting dialog displayed on the screen of the support device 200A by the secure area management unit 3 when access to the secure area 12 is permitted.
  • the common key setting dialog Dg3 includes a check box Cb, an edit box Eb4, a transfer button, and a cancel button.
  • the check box Cb is checked, the name of the file including the value of the common key Kc1 is entered in the edit box Eb4, and the transfer button is pressed, the secure area management unit 3 transfers the file from the support device 200A to the control device 100. , and stored in the secure area 12.
  • the file is created by a dedicated tool (not shown).
  • the common key Kc1 preferably has a unique value for the end user Ue (specific user) who purchases the control device 100 .
  • the encrypted backup data is prevented from being decrypted in a control device manufactured for another end user, so that the information assets of the end user Ue contained in the user area 11 are protected by the other end user. can be prevented from leaking into the
  • FIG. 9 is a flowchart showing the flow of vendor password setting processing performed by the secure area management unit 3 of FIG. 1 when backup/restore key management is enabled by the vendor Uv of FIG.
  • a step is simply denoted as S below.
  • the secure area management unit 3 performs vendor password setting processing in S101, and advances the processing to S102.
  • the secure area management unit 3 saves the vendor password in the secure area 12 in S102 and ends the vendor password setting process.
  • FIG. 10 is a flow chart showing the flow of common key setting processing performed by the secure area management unit 3 of FIG.
  • the secure area management unit 3 determines whether or not authentication of access to the secure area 12 has succeeded in S111. If access authentication to the secure area 12 is successful (YES in S111), the secure area management unit 3 saves the common key in the secure area 12 in S112 and ends the process. If authentication of access to secure area 12 fails (NO in S111), secure area management unit 3 prohibits authentication of access to secure area 12 for a predetermined period of time, and then terminates the process.
  • the end user Ue who acquired the control device 100 from the vendor Uv generates backup data Db3 (update data) in case the control device 100 fails.
  • the backup data Db3 is encrypted with the common key Kc1.
  • the backup data Db3 may be output to the support device 200B in response to a backup instruction from the end user Ue's support device 200B, or may be attached to the memory card interface 114 when the backup mode is selected by the DIP switch 126. may be output to a stored storage medium (for example, memory card 115).
  • the end user Ue acquires the control device 100_1 storing the common key Kc1 from the vendor Uv, and uses the backup data Db3 to restore the user area 11 of the control device 100 to the user area of the control device 100_1. 11.
  • the encrypted backup data Db3 is decrypted using the common key Kc1 and restored in the user area 11.
  • the backup data Db3 cannot be decrypted in a control device that does not store the common key Kc1, even if it is a control device produced by the vendor Uv.
  • the control device 100_2 manufactured for an end user different from the end user Ue stores a common key Kc2 different from the common key Kc1. It cannot be decoded at 100_2.
  • the encrypted backup data Db3 cannot be decrypted in the control device 900 .
  • the end user Ue can replace the failed control device 100 with the control device 100_1 in which the backup data Db3 is duplicated, thereby preventing a decrease in productivity. can be prevented.
  • vendor Uv can limit devices capable of duplicating data stored in user area 11 of control device 100 to control devices manufactured by vendor Uv. Therefore, it is possible to protect the opportunity for the vendor Uv to obtain compensation for the control device from the end user Ue.
  • the data in the user area 11 is output to the outside of the control device 100, the data is encrypted with the common key Kc1, so the data cannot be decrypted in a device in which the common key Kc1 is not stored. . Therefore, it is possible to prevent the information assets of the end user Ue and the vendor Uv included in the user area 11 from being illegally acquired by a third party.
  • FIG. 11 is a flow chart showing the flow of backup processing performed by the user area management unit 2 of FIG.
  • the user area management unit 2 determines whether or not the common key is stored in the secure area 12 in S121. If the common key is saved in the secure area 12 (YES in S121), the user area management unit 2 encrypts the data in the user area 11 using the common key in S122 and advances the process to S123. In S123, the user area management unit 2 outputs the encrypted backup data to the support device 200B connected to the control device 100 or the memory card 115 attached to the memory card interface 114, and ends the backup process. .
  • Error processing includes, for example, outputting a message indicating that the common key is not saved to support device 200B, or lighting indicator 124 in a manner indicating that the common key is not saved.
  • the vendor Uv provides the modified user program as an update program Pgu1 (update data) to the end user Ue.
  • the update program Pgu1 is encrypted with the common key Kc1.
  • the encryption of update program Pgu1 may be performed in support device 200A, or may be performed in another device.
  • the end user Ue updates the user program 97 of the control device 100 using the update program Pgu1.
  • Authentication using the online password Pw2 can prevent the user area 11 from being illegally updated.
  • the update program Pgu1 may be input to the control device 100 from the support device 200B of the end user Ue in response to a restore instruction from the support device 200B. It may be input to the control device 100 from the memory card 115 attached to the card interface 114 and storing the update program Pgu1.
  • FIG. 12 is a flow chart showing the flow of restore processing performed by the user area management unit 2 of FIG. As shown in FIG. 12, the user area management unit 2 determines whether or not authentication of access to the user area 11 has succeeded in S131.
  • the user area management unit 2 advances the process to S136. If access authentication to the user area 11 has succeeded (YES at S131), the user area management unit 2 determines whether or not the common key is stored in the secure area 12 at S132.
  • the user area management unit 2 advances the process to S136. If the common key is stored in the secure area 12 (YES at S132), the user area management unit 2 decrypts the update data at S133 and advances the process to S134.
  • the user area management unit 2 determines in S134 whether or not the decryption process for the update data has succeeded. If the decryption process for the update data fails (NO in S134), user area management unit 2 advances the process to S136. If the decryption process for the update data is successful (YES at S134), the user area management unit 2 updates the user area 11 of the control device 100 using the update data decrypted at S135, and ends the restore process.
  • Errors in the case of NO in S131 include failure of authentication using the online password Pw2.
  • Errors in the case of NO in S132 include that the common key is not saved in the secure area 12 .
  • Errors in the case of NO in S134 include that the common key stored in the secure area 12 and the common key used to encrypt the update data do not match, and that the update data is not encrypted.
  • Error processing includes, for example, outputting a message corresponding to the content of the error to support device 200B, or lighting indicator 124 in a manner corresponding to the content of the error.
  • Db2 update data
  • a second password (Pw2) is stored in the first area (11), The control device (100) according to configuration 1, wherein the first area manager (2) authenticates the update using the second password (Pw2).
  • composition 3 The control device (100) according to configuration 1 or 2, wherein the common key (Kc1) has a unique value for a specific user (Ue) associated with the control device (100).
  • Composition 4 A program (Pg1, Pg2) for managing input/output of data stored in a storage unit (1) of a control device (100) including a first area (11) and a second area (12),
  • the programs (Pg1, Pg2) are executed by a processor (102) to authenticating access to the second area (12) from a device different from the control device (100) using a password (Pw1); storing a common key (Kc1) in the second area (12); encrypting the data stored in the first area (11) using the common key (Kc1) and outputting;
  • the update data (Db2) encrypted using the common key (Kc1) is decrypted using the common key (Kc1), and the decrypted update data (Db2) is used to decrypt the second area (12).
  • a program (Pg1, Pg2) that updates the .
  • Composition 5 A method for managing input/output of data stored in a storage unit (1) of a control device (100) including a first area (11) and a second area (12), comprising: a step (S111) of authenticating access to the second area (12) from a device different from the control device (100) using a password (Pw1); a step (S112) of storing the common key (Kc1) in the second area (12); Steps (S122, S123) of encrypting and outputting the data stored in the first area (11) using the common key (Kc1); The update data (Db2) encrypted using the common key (Kc1) is decrypted using the common key (Kc1), and the decrypted update data (Db2) is used to decrypt the second area (S133 to and S135) updating.

Abstract

制御装置のベンダの利益を保護しながら、制御装置のエンドユーザの生産性の低下を防止する。記憶部(1)は、第1領域(11)と、共通鍵(Kc1)が保存された第2領域(12)とを含む。第1領域管理部(2)は、第1領域(11)に保存されたデータを共通鍵(Kc1)を用いて暗号化して出力する。第2領域管理部(3)は、制御装置(100)とは異なる装置からの第2領域(12)へのアクセスを第1パスワード(Pw1)を用いて認証する。第1領域管理部(2)は、共通鍵(Kc1)を用いて暗号化された更新データを共通鍵(Kc1)を用いて復号化し、復号された更新データを用いて第2領域(12)の更新を行う。

Description

制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法
 本開示は、制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法に関する。
 従来、制御対象(たとえば生産現場において使用される機械または設備)を制御する制御装置が知られている。たとえば、国際公開第2012/111117号(特許文献1)には、マスタユニットと、1つ以上のスレーブユニットとを備えるプログラマブルロジックコントローラが開示されている。マスタユニットは、スレーブユニットに割り付けられたIO番号を管理する編成情報テーブルを有し、マスタユニットに設定されたパスワードを分割したパスワード分割データからスレーブユニットに割り付けられたIO番号を用いてパスワード分散情報を生成する。スレーブユニットは、マスタユニットから送付されたパスワード分散情報を保存する。当該プログラマブルロジックコントローラによれば、パスワード情報の流出を防ぐことによりシステム管理者のパスワード管理のコストを低減することができる。
国際公開第2012/111117号
 制御装置に保存されている制御対象に関するデータには、当該制御装置をユーザに提供するベンダによって作成されたユーザプログラム(たとえば制御対象を制御する制御プログラム)が含まれる場合がある。ベンダから制御装置を購入したエンドユーザが当該制御装置に保存されたユーザプログラムを他の制御装置に複製して動作させることが可能である場合、ベンダは当該他の制御装置の対価をエンドユーザからさらに得る機会を失う可能性がある。そのため、制御装置のベンダにとって、当該制御装置に保存された制御対象に関するデータの複製が他の制御装置において使用されることを防止する必要がある。一方、制御装置が故障した場合、エンドユーザは、当該制御装置に保存されている制御対象に関するデータを他の制御装置に複製することにより、故障した制御装置を、正常に動作する他の制御装置に代替することができる。そのため、エンドユーザにとって、制御装置に保存された制御対象に関するデータの複製が他の制御装置において使用可能であることが必要である。
 しかし、特許文献1に開示されたプログラマブルロジックコントローラにおいては、制御装置のベンダの利益の保護および制御装置のエンドユーザの生産性の維持の観点から、制御装置に保存された制御対象に関するデータの複製を管理することの必要性について考慮されていない。
 本開示は上記のような課題を解決するためになされたものであり、その目的は、制御装置のベンダの利益を保護しながら、制御装置のエンドユーザの生産性の低下を防止することである。
 本開示の一例に係る制御装置は、記憶部と、第1領域管理部と、第2領域管理部とを備える。記憶部は、第1領域と、共通鍵が保存された第2領域とを含む。第1領域管理部は、第1領域に保存されたデータを共通鍵を用いて暗号化して出力する。第2領域管理部は、制御装置とは異なる装置からの第2領域へのアクセスを第1パスワードを用いて認証する。第1領域管理部は、共通鍵を用いて暗号化された更新データを共通鍵を用いて復号化し、復号された更新データを用いて第2領域の更新を行う。
 この開示によれば、第1領域に保存されたデータが共通鍵によって暗号化されて出力されることにより、エンドユーザは、共通鍵が保存された他の制御装置において当該データを復号し、故障した制御装置を当該他の制御装置に代替することができるため、生産性の低下を防止することができる。また、制御装置のベンダは、制御装置の第1領域に保存されたデータを複製可能な装置をベンダが生産した制御装置に限定することができる。そのため、当該ベンダが制御装置の対価をエンドユーザから得る機会を保護することができる。
 上述の開示において、第1領域には、第2パスワードが保存されていてもよい。第1領域管理部は、第2パスワードを用いて更新を認証してもよい。
 この開示によれば、第1領域が不正に更新されることを防止することができる。
 上述の開示において、前記共通鍵は、前記制御装置に関連付けられる特定ユーザに固有の値を有していてもよい。
 この開示によれば、暗号化された第1領域のデータが他のエンドユーザ用に生産された制御装置において復号されることが防止されることにより、第1領域に含まれるエンドユーザの情報資産が他のエンドユーザに漏洩することを防止することができる。
 本開示の他の例に係るプログラムは、第1領域と第2領域とを含む、制御装置の記憶部に保存されたデータの入出力を管理する。プログラムは、プロセッサによって実行されることによって、前記制御装置とは異なる装置からの前記第2領域へのアクセスをパスワードを用いて認証し、前記第2領域に共通鍵を保存し、前記第1領域に保存されたデータを前記共通鍵を用いて暗号化して出力し、前記共通鍵を用いて暗号化された更新データを前記共通鍵を用いて復号化し、復号された前記更新データを用いて前記第2領域の更新を行う。
 この開示によれば、第1領域に保存されたデータが共通鍵によって暗号化されて出力されることにより、エンドユーザは、共通鍵が保存された他の制御装置において当該データを復号し、故障した制御装置を当該他の制御装置に代替することができるため、生産性の低下を防止することができる。また、制御装置のベンダは、制御装置の第1領域に保存されたデータを複製可能な装置をベンダが生産した制御装置に限定することができる。そのため、当該ベンダが制御装置の対価をエンドユーザから得る機会を保護することができる。
 本開示の他の例に係る方法は、第1領域と第2領域とを含む、制御装置の記憶部に保存されたデータの入出力を管理する。当該方法は、前記制御装置とは異なる装置からの前記第2領域へのアクセスをパスワードを用いて認証するステップと、前記第2領域に共通鍵を保存するステップと、前記第1領域に保存されたデータを前記共通鍵を用いて暗号化して出力するステップと、前記共通鍵を用いて暗号化された更新データを前記共通鍵を用いて復号化し、復号された前記更新データを用いて前記第2領域の更新を行うステップとを含む。
 この開示によれば、第1領域に保存されたデータが共通鍵によって暗号化されて出力されることにより、エンドユーザは、共通鍵が保存された他の制御装置において当該データを復号し、故障した制御装置を当該他の制御装置に代替することができるため、生産性の低下を防止することができる。また、制御装置のベンダは、制御装置の第1領域に保存されたデータを複製可能な装置をベンダが生産した制御装置に限定することができる。そのため、当該ベンダが制御装置の対価をエンドユーザから得る機会を保護することができる。
 本開示に係る制御装置、プログラム、および方法によれば、第1領域に保存されたデータが共通鍵によって暗号化されて出力されることにより、制御装置のベンダの利益を保護しながら、制御装置のエンドユーザの生産性の低下を防止することができる。
実施の形態に係る制御装置の構成を示すブロック図である。 図1の制御装置を備える制御システムの構成例を示す模式図である。 図2の制御装置のハードウェア構成例を示す模式図である。 図2のサポート装置のハードウェア構成例を示す模式図である。 制御装置へ更新データが入力される各フェーズおよび制御装置から更新データが出力されるフェーズを示す図である。 サポート装置によって制御装置におけるバックアップ/リストアのキー管理が有効化された場合に、図1のセキュア領域管理部によってサポート装置の画面に表示される、パスワード設定ダイアログの一例を示す図である。 ベンダパスワードが設定され、かつ制御装置とは異なる装置からのセキュア領域へのアクセスが検知された場合に、セキュア領域管理部によってサポート装置の画面に表示される認証ダイアログの一例を示す図である。 セキュア領域へのアクセスが許可された場合に、セキュア領域管理部によってサポート装置の画面に表示される共通鍵設定ダイアログの一例を示す図である。 図5のベンダによってバックアップ/リストアのキー管理が有効化された場合に図1のセキュア領域管理部によって行われるベンダパスワード設定処理の流れを示すフローチャートである。 図1のセキュア領域管理部によって行われる共通鍵設定処理の流れを示すフローチャートである。 図1のユーザ領域管理部によって行われるバックアップ処理の流れを示すフローチャートである。 図1のユーザ領域管理部によって行われるリストア処理の流れを示すフローチャートである。
 以下、実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は原則として繰り返さない。
 <適用例>
 図1は、実施の形態に係る制御装置100の構成を示すブロック図である。図1に示されるように、制御装置100は、記憶部1と、ユーザ領域管理部2(第1領域管理部)と、セキュア領域管理部3(第2領域管理部)とを備える。
 記憶部1は、システム領域10と、ユーザ領域11(第1領域)と、セキュア領域12(第2領域)とを含む。ユーザ領域11には、制御対象に関するデータDuと、オンラインパスワードPw2(第2パスワード)とが保存されている。セキュア領域12には、共通鍵Kc1と、ベンダパスワードPw1(第1パスワード)が保存されている。共通鍵Kc1は、データの暗号化および復号化の双方に共通して使用される。
 セキュア領域管理部3は、ベンダパスワードの設定処理を行い、入力されたベンダパスワードPw1をセキュア領域12に保存する。セキュア領域管理部3は、ベンダパスワードPw1を用いる認証後、入力された共通鍵Kc1をセキュア領域12に保存する。セキュア領域管理部3は、制御装置100とは異なる装置からのセキュア領域12へのアクセスをベンダパスワードPw1を用いて認証する。
 ユーザ領域管理部2は、制御対象に関するデータDuを共通鍵Kc1を用いて暗号化して更新データDb1として出力する。ユーザ領域管理部2は、共通鍵Kc1を用いて暗号化された更新データDb2を共通鍵Kc1を用いて復号化し、復号された更新データDb2を用いてユーザ領域11の更新を行う。ユーザ領域管理部2は、オンラインパスワードPw2を用いてユーザ領域11の更新を認証する。
 <制御システムの構成>
 図2は、図1の制御装置100を備える制御システム1000の構成例を示す模式図である。図2に示されるように、制御システム1000は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。典型的には、デバイスは、制御プログラムを実行する処理主体である制御装置100と、制御装置100に接続される周辺装置とを含み得る。
 制御装置100は、各種の設備または装置などの制御対象を制御する産業用コントローラに相当する。制御装置100は、制御演算を実行する一種のコンピュータであり、典型的には、PLC(Programmable Logic Controller)を含む。制御装置100には、フィールドネットワーク20を介してフィールドデバイス500に接続されている。制御装置100は、フィールドネットワーク20を介して、少なくとも1つフィールドデバイス500との間でデータを遣り取りする。
 制御装置100において実行される制御演算は、フィールドデバイス500において収集または生成されたデータを収集する処理、フィールドデバイス500に対する指令値などのデータを生成する処理、および生成した出力データを対象のフィールドデバイス500へ送信する処理などを含む。
 フィールドネットワーク20は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、またはCompoNet(登録商標)などが知られている。データの到達時間が保証される点において、EtherCAT(登録商標)が好ましい。
 フィールドネットワーク20には、任意のフィールドデバイス500を接続することができる。フィールドデバイス500は、フィールド側にあるロボットやコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
 制御システム1000においてフィールドデバイス500は、複数のサーボドライバ520_1,520_2と、複数のサーボドライバ520_1,520_2にそれぞれ接続された複数のサーボモータ522_1,522_2とを含む。フィールドデバイス500は、「制御対象」の一例である。
 サーボドライバ520_1,520_2は、制御装置100からの指令値(たとえば、位置指令値または速度指令値など)に従って、サーボモータ522_1および522_2のうちの対応するサーボモータを駆動する。このようにして、制御装置100は、フィールドデバイス500を制御することができる。
 制御装置100は、上位ネットワーク60を介して、他の装置にも接続されている。上位ネットワーク60は、ゲートウェイ700を介して、外部ネットワークであるインターネットに接続されている。上位ネットワーク60には、一般的なネットワークプロトコルであるイーサネット(登録商標)、あるいはEtherNet/IP(登録商標)が採用されてもよい。より具体的には、上位ネットワーク60には、少なくとも1つのサーバ装置300および少なくとも1つの表示装置400が接続されてもよい。
 サーバ装置300としては、データベースシステム、または製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置または設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、あるいは出荷情報などを扱うこともできる。これらに限らず、情報系サービスを提供する装置を上位ネットワーク60に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置または設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、情報系サービスとしては、制御対象の製造装置または設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニング、あるいは制御対象の設備または機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
 表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置100での演算結果などをグラフィカルに表示する。
 制御装置100には、サポート装置200が接続可能になっている。サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、およびコンパイラなど)、制御装置100および制御装置100に接続される各種デバイスの構成情報(コンフィギュレーション)を設定するための設定環境、生成したプログラムを制御装置100へ出力する機能、および制御装置100上で実行されるプログラムなどをオンラインで修正および変更を行う機能などを提供する。
 制御システム1000においては、制御装置100、サポート装置200、および表示装置400がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成が採用されてもよい。
 制御装置100は、一の生産現場のみで使用される場合に限らず、他の生産現場においても使用される。また、一の生産現場内においても複数の異なるラインで使用される場合もある。
 <制御装置のハードウェア構成>
 図3は、図2の制御装置100のハードウェア構成例を示す模式図である。図3に示されるように、制御装置100は、主たるコンポーネントとして、プロセッサ102と、チップセット104と、主記憶装置106と、二次記憶装置108と、上位ネットワークコントローラ110と、サポート装置インターフェイス112と、メモリカードインターフェイス114と、フィールドネットワークコントローラ116と、内部バスコントローラ120と、インジケータ124と、DIP(Dual In-line Package)スイッチインターフェイス125と、DIPスイッチ126と、給電スイッチインターフェイス127と、給電スイッチ128とを含む。
 二次記憶装置108は、典型的には、たとえば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、ROM(Read Only Memory)、EPROM(Erasable Programmable Read Only Memory)、またはEEPROM(Electrically Erasable Programmable Read-Only Memory)などの不揮発性記憶装置を備える。
 二次記憶装置108は、システム領域10と、ユーザ領域11とを含む。システム領域10には、システムプログラム95と、ユーザ領域管理プログラムPg1と、システム設定ファイル96とが保存されている。システムプログラム95は、OS(Operating System)プログラムと、ユーザ領域管理プログラムPg1とを含む。システムプログラム95は、ユーザ領域11に保存されているユーザプログラム97が動作するためのプログラム実行環境を提供する。
 ユーザ領域11には、ユーザプログラム97と、ユーザ設定ファイル98と、ユーザ変数99とが保存されている。ユーザプログラム97は、制御対象の製造装置または設備に応じて制御装置100のベンダによって作成され、制御対象を制御するための命令が規定されたプログラムである。ユーザ設定ファイル98は、オンラインパスワードPw2を含む。ユーザ変数99は、バックアップ・リストア指示を示す値を含む。その他、ユーザ領域11には、製品のレシピデータ、各種処理に係る保持変数、トレーサビリティデータ、スプールに係るデータ(SQLキューイング)、システムおよび装置の稼働に係るログ、エラー情報、システムにおける構成情報(ユニット・スレーブ設定)、セキュリティ情報(アカウント情報、証明書、およびアクセス制御)、ユニット用メモリの値、および絶対値エンコーダなどが含まれる。エンドユーザは、サポート装置200などの設定ツールを用いることによって、当該エンドユーザの知識、経験、および取り決めなどに基づいて、ユーザ領域11に所望のデータを作成することができる。すなわち、ユーザ領域11には、エンドユーザに固有の専門知識が反映された情報資産としてのデータが含まれ得る。
 チップセット104は、プロセッサ102と各コンポーネントとの間のデータの遣り取りを仲介することで、制御装置100全体としての処理を実現する。チップセット104は、基板上に装着された複数のチップを備える。当該複数のチップは、セキュアチップ105を含む。セキュアチップ105は、不揮発性のメモリ107を含む。メモリ107は、セキュア領域12を含む。セキュア領域12には、セキュア領域管理プログラムPg2と、共通鍵Kc1と、ベンダパスワードPw1とが保存されている。
 プロセッサ102は、たとえばCPU(Central Processing Unit)またはGPU(Graphical Processing Unit)などを含む。プロセッサ102は、二次記憶装置108またはメモリ107に格納された各種プログラムを読み出して、主記憶装置106に展開して実行することで、制御演算およびサービス処理を含む各種の処理を実現する。
 主記憶装置106は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)などの揮発性記憶装置を含む。
 上位ネットワークコントローラ110は、上位ネットワーク60を介して、外部装置(たとえば、図1に示されるサーバ装置300および表示装置400)との間のデータの遣り取りを制御する。フィールドネットワークコントローラ116は、フィールドネットワーク20を介したフィールドデバイス500との間のデータの遣り取りを制御する。上位ネットワークコントローラ110およびフィールドネットワークコントローラ116の各々には、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、またはCompoNet(登録商標)などの産業用ネットワークプロトコルが採用されてもよい。
 サポート装置インターフェイス112は、たとえば、USB(Universal Serial Bus)接続を介して、またはEtherNet通信によって、サポート装置200との間のデータの遣り取りを制御する。
 メモリカードインターフェイス114は、メモリカード115を着脱可能に構成されており、メモリカード115に対してユーザプログラムまたは各種設定などのデータを書込むことが可能に構成されている。また、メモリカードインターフェイス114は、メモリカード115から当該プログラムまたは各種設定などのデータを読出すことが可能に構成されている。
 内部バスコントローラ120は、制御装置100に装着されるI/O(Input/Output)ユニット122との間のデータの遣り取りを制御する。内部バスコントローラ120には、PLCメーカ固有の通信プロトコルが用いられてもよいし、いずれかの産業用ネットワークプロトコルと同一あるいは準拠した通信プロトコルが用いられてもよい。
 インジケータ124は、制御装置100の動作状態などを通知する。インジケータ124は、制御装置100の表面に配置された少なくとも1つのLED(Light Emitting Diode)などで構成される。
 DIPスイッチ126は、DIPスイッチインターフェイス125を介してチップセット104に接続されている。DIPスイッチ126は、複数のスイッチSw1,Sw2,Sw3,Sw4を含む。複数のスイッチSw1~Sw4の各々は、各々の状態をONおよびOFFに選択的に切り替える。ONまたはOFFに切り替えられた複数のスイッチSw1~Sw4の組合せにより、制御装置100の起動モードを切り替える。起動モードは、通常モード、バックアップモード、およびリストアモードを含む。図3においては、スイッチSw1~Sw4のすべてがONに切り替えられ、DIPスイッチ126によって指定される起動モードは通常モードである。バックアップモードにおいては、たとえばスイッチSw1,Sw3がONに切り替えられ、スイッチSw2,Sw4がOFFに切り替えられる。リストアモードにおいては、たとえばスイッチSw1,Sw3がOFFに切り替えられ、スイッチSw2,Sw4がONに切り替えられる。
 給電スイッチ128は、給電スイッチインターフェイス127を介してチップセット104に接続されている。給電スイッチ128は、電源(不図示)から制御装置100への電力の供給の開始および停止を切り替える。制御装置100に電源から電力が供給されていない状態で所定の時間の間、給電スイッチ128が押下された場合、DIPスイッチ126において指定された起動モードにおいて制御装置100が起動される。
 二次記憶装置108およびセキュアチップ105のメモリ107は、図1の記憶部1に対応する。ユーザ領域管理プログラムPg1を実行するプロセッサ102は、図1のユーザ領域管理部2に対応する。セキュア領域管理プログラムPg2を実行するプロセッサ102は、図1のセキュア領域管理部3に対応する。なお、メモリ107と二次記憶装置108とは別個の記憶装置ではなく、1台の記憶装置として形成されてもよい。また、ユーザ領域管理プログラムPg1とセキュア領域管理プログラムPg2とは、別個のプログラムではなく、1個のプログラムとして作成されてもよい。
 図3においては、プロセッサ102がプログラムを実行することで必要な機能が提供される制御装置100のハードウェア構成例が示されている。当該機能の一部または全部が、専用のハードウェア回路(たとえば、ASIC(Application Specific Integrated Circuit)またはFPGA(Field-Programmable Gate Array)など)を用いて実装されてもよい。あるいは、制御装置100の主要部が、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現されてもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOSが並列的に実行されるとともに、各OS上で必要なアプリケーションが実行されるようにしてもよい。
 <サポート装置のハードウェア構成>
 図4は、図2のサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
 図4に示されるように、サポート装置200は、プロセッサ202と、揮発性メモリ204と、不揮発性メモリ206と、HDD(Hard Disk Drive)208と、ディスプレイ250と、キーボード210と、マウス212と、メモリカードインターフェイス214と、外部装置インターフェイス218とを備える。これらのコンポーネントは、プロセッサバス220を介して相互に通信可能に接続されている。
 プロセッサ202は、CPUおよびGPUなどで構成され、不揮発性メモリ206およびHDD208に格納されたプログラム(一例として、サポートプログラム230)を読み出して、揮発性メモリ204に展開して実行することで、各種処理を実現する。
 サポート装置200においては、プロセッサ202が所定のプログラムを実行することで、サポート装置200として必要な機能が提供される。当該機能の一部または全部が、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装されてもよい。
 揮発性メモリ204は、DRAMおよびSRAMなど、各種の揮発性記憶装置によって構成される。不揮発性メモリ206は、SSDなど、各種の不揮発性記憶装置によって構成される。
 不揮発性メモリ206およびHDD208には、基本的な機能を実現するためのOSに加えて、サポート装置200としての機能を提供するためのサポートプログラム230が格納されている。なお、サポート装置200においては、HDD208にサポートプログラム230が格納されている。サポートプログラム230には、コンピュータをサポート装置200として機能させるための命令が規定されている。
 ディスプレイ250は、プロセッサ202からの処理結果などを出力する。キーボード210およびマウス212は、ユーザプログラムなどの各種のプログラムを作成したり、制御対象に応じた設定値などをユーザが入力したりするときに、ユーザ操作を受け付ける。
 メモリカードインターフェイス214は、メモリカード115が着脱可能に構成されており、メモリカード115に対して各種データ(ユーザプログラムなど)を書き込み、メモリカード115から各種データを読み出すことが可能になっている。
 外部装置インターフェイス218は、ネットワークを介して、制御装置100などの任意の外部装置などとの間でデータを遣り取りする。
 なお、図示は省略するが、サポート装置200は、光学ドライブを備えていてもよく、コンピュータが読み取り可能なプログラムを非一過的に格納するDVD(Digital Versatile Disc)などの光学記録媒体から、その中に格納されたプログラム(サポートプログラムなど)が読み取られて不揮発性メモリ206またはHDD208などにインストールされる。
 サポート装置200において実行されるサポートプログラム230などは、コンピュータ読取可能なDVDを介してインストールされてもよいが、ネットワーク上のサーバ装置300などからダウンロードする形でインストールされるようにしてもよい。また、サポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 図5は、制御装置100へ更新データが入力される各フェーズおよび制御装置100から更新データが出力されるフェーズを示す図である。図5に示されるように、ベンダUvは、PLCメーカからPLC90を取得して、制御装置100を生産する。ベンダUvとしては、たとえばSIerと呼ばれるシステムインテグレータを挙げることができる。ベンダUvは、サポート装置200Aを用いて制御装置100のセットアップを行う。具体的には、ベンダUvは、制御装置100のシステム領域10にシステムプログラムをインストールする。ベンダUvは、制御装置100のユーザ領域11にユーザプログラムの最初のバージョンをインストールする。ベンダUvは、制御装置100のセキュア領域12にセキュア領域管理プログラムPg2をインストールする。ベンダUvは、ベンダパスワードPw1を設定してセキュア領域12に保存するとともに、共通鍵Kc1をセキュア領域12に保存する。
 図6は、サポート装置200Aによって制御装置100におけるバックアップ/リストアのキー管理が有効化された場合に、図1のセキュア領域管理部3によってサポート装置200Aの画面に表示される、パスワード設定ダイアログの一例を示す図である。バックアップとは、制御装置100のユーザ領域11に保存されたデータをバックアップデータ(更新データ)として複製することを意味する。リストアとは、バックアップデータを用いて制御装置100のユーザ領域を更新することを意味する。バックアップ/リストアのキー管理とは、バックアップにおいてバックアップデータを共通鍵を用いて暗号化するとともに、暗号化されたバックアップデータをリストアにおいて共通鍵を用いて復号化することを意味する。
 図6に示されるように、パスワード設定ダイアログDg1は、エディットボックスEb1,Eb2と、OKボタンと、キャンセルボタンとを含む。ベンダUvは、ベンダパスワードPw1として設定することを望む文字列をエディットボックスEb1,Eb2の各々に入力する。OKボタンが押下され、かつエディットボックスEb1に入力された文字列とエディットボックスEb2に入力された文字列とが一致している場合、セキュア領域管理部3は、エディットボックスEb1に入力された文字列をベンダパスワードPw1として設定し、セキュア領域12に当該文字列を保存する。ベンダパスワードPw1は、制御装置100を購入するエンドユーザに固有の文字列としてベンダUvによって管理される。ベンダパスワードPw1は、エンドユーザUeに対して秘匿される。その結果、エンドユーザUeはセキュア領域12へのアクセスが許可されない限り、共通鍵Kc1の内容を知ることができない。ベンダパスワードPw1が解読されるリスクを低減するため、一定期間(たとえば制御装置100の生産年)が経過する度に、エンドユーザに固有のパスワードが変更されることが望ましい。
 図7は、ベンダパスワードPw1が設定され、かつ制御装置100とは異なる装置からのセキュア領域12へのアクセスが検知された場合に、セキュア領域管理部3によってサポート装置200Aの画面に表示される認証ダイアログの一例を示す図である。図7に示されるように、認証ダイアログDg2は、エディットボックスEb3と、OKボタンと、キャンセルボタンとを含む。OKボタンが押下され、かつエディットボックスEb3に入力された文字列がセキュア領域12に保存されたベンダパスワードPw1に一致する場合、セキュア領域管理部3は、セキュア領域12へのアクセスを許可する。エディットボックスEb3への多数回のパスワード入力が試行されてベンダパスワードが特定されることを防止するために、パスワード認証が所定の回数失敗した場合、所定の時間間隔(たとえば10分)の間、セキュア領域12へのアクセスの認証が禁止されることが望ましい。
 図8は、セキュア領域12へのアクセスが許可された場合に、セキュア領域管理部3によってサポート装置200Aの画面に表示される共通鍵設定ダイアログの一例を示す図である。図8に示されるように、共通鍵設定ダイアログDg3は、チェックボックスCbと、エディットボックスEb4と、転送ボタンと、キャンセルボタンとを含む。チェックボックスCbがチェックされ、エディットボックスEb4に共通鍵Kc1の値を含むファイルの名称が入力され、転送ボタンが押下された場合、セキュア領域管理部3は、当該ファイルをサポート装置200Aから制御装置100に転送し、セキュア領域12に保存する。当該ファイルは、不図示の専用ツールによって作成される。共通鍵Kc1は、制御装置100を購入するエンドユーザUe(特定ユーザ)に固有の値を有することが望ましい。その結果、暗号化されたバックアップデータが他のエンドユーザ用に生産された制御装置において復号されることが防止されるため、ユーザ領域11に含まれるエンドユーザUeの情報資産が当該他のエンドユーザに漏洩することを防止することができる。
 図9は、図5のベンダUvによってバックアップ/リストアのキー管理が有効化された場合に図1のセキュア領域管理部3によって行われるベンダパスワード設定処理の流れを示すフローチャートである。以下ではステップを単にSと記載する。図9に示されるように、セキュア領域管理部3は、S101においてベンダパスワードの設定処理を行い、処理をS102に進める。セキュア領域管理部3は、S102においてベンダパスワードをセキュア領域12に保存してベンダパスワード設定処理を終了する。
 図10は、図1のセキュア領域管理部3によって行われる共通鍵設定処理の流れを示すフローチャートである。図10に示されるように、セキュア領域管理部3は、S111においてセキュア領域12へのアクセスの認証が成功したか否かを判定する。セキュア領域12へのアクセスの認証が成功した場合(S111においてYES)、セキュア領域管理部3は、S112において共通鍵をセキュア領域12に保存して処理を終了する。セキュア領域12へのアクセスの認証が失敗した場合(S111においてNO)、セキュア領域管理部3は、所定の時間の間、セキュア領域12へのアクセスの認証を禁止した後、処理を終了する。
 再び図5を参照して、ベンダUvから制御装置100を取得したエンドユーザUeは、制御装置100が故障した場合に備えて、バックアップデータDb3(更新データ)を生成する。バックアップデータDb3は、共通鍵Kc1によって暗号化されている。バックアップデータDb3は、エンドユーザUeのサポート装置200Bからのバックアップ指示に応じて、サポート装置200Bに出力されてもよいし、DIPスイッチ126によってバックアップモードが選択されている場合にメモリカードインターフェイス114に装着された記憶媒体(たとえばメモリカード115)に出力されてもよい。
 制御装置100が故障した場合、エンドユーザUeは、共通鍵Kc1が保存された制御装置100_1をベンダUvから取得し、バックアップデータDb3を用いて制御装置100のユーザ領域11を制御装置100_1のユーザ領域11に再現する。制御装置100_1においては、暗号化されたバックアップデータDb3が共通鍵Kc1を用いて復号され、ユーザ領域11にリストアされる。
 バックアップデータDb3は、ベンダUvによって生産された制御装置であっても共通鍵Kc1が保存されていない制御装置においては復号されない。たとえば、エンドユーザUeとは異なるエンドユーザ用に生産された制御装置100_2には共通鍵Kc1とは異なる共通鍵Kc2が保存されているため、共通鍵Kc1によって暗号化されたバックアップデータDb3を制御装置100_2において復号することはできない。また、ベンダUvとは異なるベンダによって生産された制御装置900には共通鍵が保存されていないため、暗号化されたバックアップデータDb3を制御装置900において復号することはできない。
 バックアップデータDb3が共通鍵Kc1によって暗号化されていることにより、エンドユーザUeは、故障した制御装置100をバックアップデータDb3が複製された制御装置100_1に代替することができるため、生産性の低下を防止することができる。また、ベンダUvは、制御装置100のユーザ領域11に保存されたデータを複製可能な装置をベンダUvが生産した制御装置に限定することができる。そのため、ベンダUvが制御装置の対価をエンドユーザUeから得る機会を保護することができる。さらに、ユーザ領域11のデータが制御装置100の外部に出力される場合、当該データは共通鍵Kc1によって暗号化されるため、共通鍵Kc1が保存されていない装置において当該データを復号することができない。そのため、ユーザ領域11に含まれるエンドユーザUeおよびベンダUvの情報資産が、第三者によって不正に取得されることを防止することができる。
 図11は、図1のユーザ領域管理部2によって行われるバックアップ処理の流れを示すフローチャートである。図11に示されるように、ユーザ領域管理部2は、S121において、セキュア領域12に共通鍵が保存されているか否かを判定する。セキュア領域12に共通鍵が保存されている場合(S121においてYES)、ユーザ領域管理部2は、S122において、共通鍵を用いてユーザ領域11のデータを暗号化して処理をS123に進める。ユーザ領域管理部2は、S123において、暗号化されたバックアップデータを制御装置100に接続されているサポート装置200B、またはメモリカードインターフェイス114に装着されたメモリカード115に出力し、バックアップ処理を終了する。セキュア領域12に共通鍵が保存されていない場合(S121においてNO)、ユーザ領域管理部2は、S124においてエラー処理を行ってバックアップ処理を終了する。エラー処理には、たとえば、共通鍵が保存されていないことを示すメッセージをサポート装置200Bに出力すること、または共通鍵が保存されていないことを示す態様でインジケータ124を点灯させることが含まれる。
 再び図5を参照して、ベンダUvは、修正されたユーザプログラムを更新プログラムPgu1(更新データ)としてエンドユーザUeに提供する。更新プログラムPgu1は、共通鍵Kc1によって暗号化されている。更新プログラムPgu1の暗号化は、サポート装置200Aにおいて行われてもよいし、他の装置において行われてもよい。エンドユーザUeは、オンラインパスワードPw2を用いた認証後に、更新プログラムPgu1を用いて制御装置100のユーザプログラム97を更新する。オンラインパスワードPw2を用いた認証により、ユーザ領域11が不正に更新されることを防止することができる。更新プログラムPgu1は、サポート装置200Bからのリストア指示に応じて、エンドユーザUeのサポート装置200Bから制御装置100に入力されてもよいし、DIPスイッチ126によってリストアモードが選択されている場合に、メモリカードインターフェイス114に装着され、更新プログラムPgu1が保存されたメモリカード115から制御装置100に入力されてもよい。
 更新プログラムPgu1が共通鍵Kc1によって暗号化されていることにより、不正な第三者Utによって作成された更新プログラムPgu2が制御装置100にインストールされることを防止することができる。更新プログラムPgu2が共通鍵Kc3によって暗号化されている場合でも、共通鍵Kc3がKc1と一致しない限り、暗号化された更新プログラムPgu2が制御装置100にインストールされることを防止することができる。
 図12は、図1のユーザ領域管理部2によって行われるリストア処理の流れを示すフローチャートである。図12に示されるように、ユーザ領域管理部2は、S131においてユーザ領域11へのアクセスの認証が成功したか否かを判定する。
 ユーザ領域11へのアクセスの認証が失敗した場合(S131においてNO)、ユーザ領域管理部2は、処理をS136に進める。ユーザ領域11へのアクセスの認証が成功した場合(S131においてYES)、ユーザ領域管理部2は、S132において共通鍵がセキュア領域12に保存されているか否かを判定する。
 共通鍵がセキュア領域12に保存されていない場合(S132においてNO)、ユーザ領域管理部2は、処理をS136に進める。共通鍵がセキュア領域12に保存されている場合(S132においてYES)、ユーザ領域管理部2は、S133において更新データに対して復号化処理を行って処理をS134に進める。
 ユーザ領域管理部2は、S134において更新データに対する復号化処理が成功したか否かを判定する。更新データに対する復号化処理が失敗した場合(S134においてNO)、ユーザ領域管理部2は、処理をS136に進める。更新データに対する復号化処理が成功した場合(S134においてYES)、ユーザ領域管理部2は、S135において復号された更新データを用いて制御装置100のユーザ領域11を更新し、リストア処理を終了する。
 ユーザ領域管理部2は、S136において、エラー処理を行ってリストア処理を終了する。S131においてNOの場合のエラーは、オンラインパスワードPw2を用いる認証の失敗を含む。S132においてNOの場合のエラーは、セキュア領域12に共通鍵が保存されていないことを含む。S134においてNOの場合のエラーは、セキュア領域12に保存されている共通鍵と更新データの暗号化に用いられた共通鍵とが一致しないこと、および更新データが暗号化されていないことを含む。エラー処理には、たとえば、エラーの内容に対応するメッセージをサポート装置200Bに出力すること、またはエラーの内容に対応する態様でインジケータ124を点灯させることが含まれる。
 以上、実施の形態に係る装置、プログラム、および方法によれば、制御装置のベンダの利益を保護しながら、制御装置のエンドユーザの生産性の低下を防止することができる。
 <付記>
 上述したような実施の形態は、以下のような技術思想を含む。
 (構成1)
 制御装置(100)であって、
 第1領域(11)と、共通鍵(Kc1)が保存された第2領域(12)とを含む記憶部(1)と、
 前記第1領域(11)に保存されたデータを前記共通鍵(Kc1)を用いて暗号化して出力する第1領域管理部(2)と、
 前記制御装置(100)とは異なる装置からの前記第2領域(12)へのアクセスを第1パスワード(Pw1)を用いて認証する第2領域管理部(3)とを備え、
 前記第1領域管理部(2)は、前記共通鍵(Kc1)を用いて暗号化された更新データ(Db2)を前記共通鍵(Kc1)を用いて復号化し、復号された前記更新データ(Db2)を用いて前記第2領域(12)の更新を行う、制御装置(100)。
 (構成2)
 前記第1領域(11)には、第2パスワード(Pw2)が保存され、
 前記第1領域管理部(2)は、前記第2パスワード(Pw2)を用いて前記更新を認証する、構成1に記載の制御装置(100)。
 (構成3)
 前記共通鍵(Kc1)は、前記制御装置(100)に関連付けられる特定ユーザ(Ue)に固有の値を有する、構成1または2に記載の制御装置(100)。
 (構成4)
 第1領域(11)と第2領域(12)とを含む、制御装置(100)の記憶部(1)に保存されたデータの入出力を管理するプログラム(Pg1,Pg2)であって、
 前記プログラム(Pg1,Pg2)は、プロセッサ(102)によって実行されることによって、
 前記制御装置(100)とは異なる装置からの前記第2領域(12)へのアクセスをパスワード(Pw1)を用いて認証し、
 前記第2領域(12)に共通鍵(Kc1)を保存し、
 前記第1領域(11)に保存されたデータを前記共通鍵(Kc1)を用いて暗号化して出力し、
 前記共通鍵(Kc1)を用いて暗号化された更新データ(Db2)を前記共通鍵(Kc1)を用いて復号化し、復号された前記更新データ(Db2)を用いて前記第2領域(12)の更新を行う、プログラム(Pg1,Pg2)。
 (構成5)
 第1領域(11)と第2領域(12)とを含む、制御装置(100)の記憶部(1)に保存されたデータの入出力を管理する方法であって、
 前記制御装置(100)とは異なる装置からの前記第2領域(12)へのアクセスをパスワード(Pw1)を用いて認証するステップ(S111)と、
 前記第2領域(12)に共通鍵(Kc1)を保存するステップ(S112)と、
 前記第1領域(11)に保存されたデータを前記共通鍵(Kc1)を用いて暗号化して出力するステップ(S122,S123)と、
 前記共通鍵(Kc1)を用いて暗号化された更新データ(Db2)を前記共通鍵(Kc1)を用いて復号化し、復号された前記更新データ(Db2)を用いて前記第2領域(S133~S135)の更新を行うステップとを含む、方法。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 記憶部、2 ユーザ領域管理部、3 セキュア領域管理部、10 システム領域、11 ユーザ領域、12 セキュア領域、20 フィールドネットワーク、60 上位ネットワーク、95 システムプログラム、96 システム設定ファイル、97 ユーザプログラム、98 ユーザ設定ファイル、99 ユーザ変数、100,100_1,100_2,900 制御装置、102,202 プロセッサ、104 チップセット、105 セキュアチップ、106 主記憶装置、107 メモリ、108 二次記憶装置、110 上位ネットワークコントローラ、112 サポート装置インターフェイス、114,214 メモリカードインターフェイス、115 メモリカード、116 フィールドネットワークコントローラ、120 内部バスコントローラ、122 I/Oユニット、124 インジケータ、125 スイッチインターフェイス、126 DIPスイッチ、Sw1~Sw4 スイッチ、127 給電スイッチインターフェイス、128 給電スイッチ、200,200A,200B サポート装置、204 揮発性メモリ、206 不揮発性メモリ、210 キーボード、212 マウス、218 外部装置インターフェイス、220 プロセッサバス、230 サポートプログラム、250 ディスプレイ、300 サーバ装置、400 表示装置、500 フィールドデバイス、520 サーボドライバ、522 サーボモータ、700 ゲートウェイ、1000 制御システム、Db1,Db2 更新データ、Db3 バックアップデータ、Kc1~Kc3 共通鍵、Pg1 ユーザ領域管理プログラム、Pg2 セキュア領域管理プログラム、Pgu1,Pgu2 更新プログラム、Pw1 ベンダパスワード、Pw2 オンラインパスワード。 

Claims (5)

  1.  制御装置であって、
     第1領域と、共通鍵が保存された第2領域とを含む記憶部と、
     前記第1領域に保存されたデータを前記共通鍵を用いて暗号化して出力する第1領域管理部と、
     前記制御装置とは異なる装置からの前記第2領域へのアクセスを第1パスワードを用いて認証する第2領域管理部とを備え、
     前記第1領域管理部は、前記共通鍵を用いて暗号化された更新データを前記共通鍵を用いて復号化し、復号された前記更新データを用いて前記第2領域の更新を行う、制御装置。
  2.  前記第1領域には、第2パスワードが保存され、
     前記第1領域管理部は、前記第2パスワードを用いて前記更新を認証する、請求項1に記載の制御装置。
  3.  前記共通鍵は、前記制御装置に関連付けられる特定ユーザに固有の値を有する、請求項1または2に記載の制御装置。
  4.  第1領域と第2領域とを含む、制御装置の記憶部に保存されたデータの入出力を管理するプログラムであって、
     前記プログラムは、プロセッサによって実行されることによって、
     前記制御装置とは異なる装置からの前記第2領域へのアクセスをパスワードを用いて認証し、
     前記第2領域に共通鍵を保存し、
     前記第1領域に保存されたデータを前記共通鍵を用いて暗号化して出力し、
     前記共通鍵を用いて暗号化された更新データを前記共通鍵を用いて復号化し、復号された前記更新データを用いて前記第2領域の更新を行う、プログラム。
  5.  第1領域と第2領域とを含む、制御装置の記憶部に保存されたデータの入出力を管理する方法であって、
     前記制御装置とは異なる装置からの前記第2領域へのアクセスをパスワードを用いて認証するステップと、
     前記第2領域に共通鍵を保存するステップと、
     前記第1領域に保存されたデータを前記共通鍵を用いて暗号化して出力するステップと、
     前記共通鍵を用いて暗号化された更新データを前記共通鍵を用いて復号化し、復号された前記更新データを用いて前記第2領域の更新を行うステップとを含む、方法。
PCT/JP2021/034470 2021-03-05 2021-09-21 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法 WO2022185583A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-035281 2021-03-05
JP2021035281A JP2022135464A (ja) 2021-03-05 2021-03-05 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法

Publications (1)

Publication Number Publication Date
WO2022185583A1 true WO2022185583A1 (ja) 2022-09-09

Family

ID=83155243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/034470 WO2022185583A1 (ja) 2021-03-05 2021-09-21 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法

Country Status (2)

Country Link
JP (1) JP2022135464A (ja)
WO (1) WO2022185583A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7462860B1 (ja) 2023-06-20 2024-04-05 三菱電機株式会社 プログラム可能機器、バージョン管理システム、バージョン管理方法及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007020065A (ja) * 2005-07-11 2007-01-25 Hitachi Ltd 復号化バックアップ方法、復号化リストア方法、認証デバイス、個別鍵設定機、利用者端末、バックアップ装置、暗号化バックアッププログラム、復号化リストアプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007020065A (ja) * 2005-07-11 2007-01-25 Hitachi Ltd 復号化バックアップ方法、復号化リストア方法、認証デバイス、個別鍵設定機、利用者端末、バックアップ装置、暗号化バックアッププログラム、復号化リストアプログラム

Also Published As

Publication number Publication date
JP2022135464A (ja) 2022-09-15

Similar Documents

Publication Publication Date Title
CA3053467C (en) Abstracted cryptographic material management across multiple service providers
US20040148502A1 (en) Method and system for the distributed creation of a program for a programmable portable data carrier
US10664263B2 (en) Software management system, software updater, software updating method, and non-transitory computer-readable storage medium storing software update program
US20190095593A1 (en) License information based on baseboard management controller
US10764063B2 (en) Device specific cryptographic content protection
US10466678B2 (en) Machine maintenance using a service computer
WO2022185583A1 (ja) 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法
US20220156392A1 (en) Control system, security device, and method
CN109522738B (zh) 数据储存装置
US8250626B2 (en) Securing data accessed by a software package pre-loaded on a computer system
US20220085982A1 (en) Safety system and maintenance method
CN111108451A (zh) 工业控制系统
CN110114772B (zh) 梯形图程序非法利用防止系统、方法及工程工具
WO2020235172A1 (ja) 制御装置、データ不能化プログラム、および制御システム
WO2022190526A1 (ja) 制御システムおよびその制御方法
CN111190695A (zh) 一种基于鲲鹏芯片的虚拟机保护方法及装置
JP2021012573A (ja) 制御システム、および制御方法
JP2020120367A (ja) セーフティシステムおよびメンテナンス方法
JP7186938B1 (ja) データ提供システムおよびデータ提供方法
JP7462860B1 (ja) プログラム可能機器、バージョン管理システム、バージョン管理方法及びプログラム
JP7318264B2 (ja) コントローラシステム
RU2782178C2 (ru) Способ и система предоставления данных обработки для станка с числовым программным управлением
US20230191595A1 (en) Spare robot controller
JP2022138824A (ja) 制御システムおよびその制御方法
JP2022108027A (ja) 制御装置、管理方法およびセキュリティプログラム

Legal Events

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

Ref document number: 21929147

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21929147

Country of ref document: EP

Kind code of ref document: A1