WO2020235172A1 - 制御装置、データ不能化プログラム、および制御システム - Google Patents

制御装置、データ不能化プログラム、および制御システム Download PDF

Info

Publication number
WO2020235172A1
WO2020235172A1 PCT/JP2020/008624 JP2020008624W WO2020235172A1 WO 2020235172 A1 WO2020235172 A1 WO 2020235172A1 JP 2020008624 W JP2020008624 W JP 2020008624W WO 2020235172 A1 WO2020235172 A1 WO 2020235172A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
control device
user
disabling
program
Prior art date
Application number
PCT/JP2020/008624
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 WO2020235172A1 publication Critical patent/WO2020235172A1/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Definitions

  • the present invention relates to a control device, a data disabling program, and a control system, more specifically, a control device that controls a controlled object, a data disabling program for disabling data executed by the control device, and a data disabling program.
  • the present invention relates to a control system including a control device and a support device that supports the control device.
  • Control targets such as machines and equipment used in many production sites are typically controlled by a control device such as a programmable controller (hereinafter also referred to as "PLC").
  • a control device such as a programmable controller (hereinafter also referred to as "PLC").
  • PLC programmable controller
  • a control device stores user data including at least a user program created by the user according to a control target, and control device-specific system data.
  • Patent Document 1 discloses a PLC that stores a user program created by a user and a system program for realizing a basic function.
  • Patent Document 1 provides an execution environment for various programs by executing a system program, and can control a control target by executing a user program.
  • this user program is packed with user know-how as information for controlling a control target, but when a control device such as a PLC becomes unnecessary, such user's information assets are externalized. No consideration was given to protecting it from spillage.
  • One object of the present invention is to solve the above-mentioned problems, and an object of the present invention is to provide a technique for protecting a user's information assets.
  • a control device for controlling a controlled object includes a control unit that executes processing for controlling the control target, user data including at least a user program created by the user according to the control target, and a storage area for storing system data unique to the control device. , Of the data stored in the storage area, the system data is maintained while the user data is disabled.
  • user data including at least a user program created by a user is disabled, so that the user's information assets are leaked to the outside even if the control device is destroyed or reused, for example. Can be prevented.
  • the system data unique to the control device is maintained, for example, even if the control device is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • the invalidation unit disables the system data and user data stored in the storage area after storing a copy of the system data in the save area, and then stores the system data stored in the save area in the storage area. To memorize.
  • the user data is surely disabled, and then the saved system data is stored in the original storage area to store the system data. Can be maintained.
  • the invalidation unit disables the selected data among the data included in the user data stored in the storage area.
  • the disabling unit disables the user data stored in the storage area when a predetermined execution condition is satisfied.
  • the user data stored in the storage area is not invalidated unless a predetermined execution condition is satisfied. Therefore, the user data is intentionally or unintentionally stored by a third party. It is possible to prevent a situation that makes it impossible.
  • control device executes a process for notifying the progress of the disabling of user data by the disabling unit.
  • the executor can grasp the progress of the disabling of user data, so that it is possible to prevent a situation in which the executor shuts off the power during the execution of data disabling, for example. Can be done.
  • control device executes a process for acquiring a log indicating that the user data has been disabled by the invalidation unit.
  • the invalidation log indicating that the user data has been invalidated remains as a record, it is possible to leave evidence that the user data has been invalidated.
  • control device executes a process for preventing the log from being tampered with.
  • a data disabling program for disabling data executed by a control device that controls a controlled object.
  • the control device includes a storage area for storing user data including at least a user program created by the user according to a control target, and system data unique to the control device.
  • the data invalidation program maintains the system data out of the data stored in the storage area, in which the step of causing the computer to determine whether or not the predetermined execution condition is satisfied and when the predetermined execution condition is satisfied.
  • it includes a step of disabling user data.
  • user data including at least a user program created by a user is disabled, so that the user's information assets are leaked to the outside even if the control device is destroyed or reused, for example. Can be prevented.
  • the system data unique to the control device is maintained, for example, even if the control device is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • a control system including a control device for controlling a control target and a support device for supporting the control device.
  • the control system includes a control unit that executes processing for controlling the control target, user data including at least a user program created by the user according to the control target, and a storage area for storing system data unique to the control device. , Among the data stored in the storage area, the system data is maintained and the user data is disabled.
  • user data including at least a user program created by a user is disabled, so that the user's information assets are leaked to the outside even if the control device is destroyed or reused, for example. Can be prevented.
  • the system data unique to the control device is maintained, for example, even if the control device is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • FIG. 1 is a schematic view showing an application example of the control device 100 according to the present embodiment.
  • the control system 1 includes a device group configured so that a plurality of devices can communicate with each other.
  • the device may include a control device 100, which is a processing subject that executes a control program, and a peripheral device connected to the control device 100.
  • the control device 100 corresponds to an industrial controller that controls a control target of various facilities and devices.
  • the control device 100 is a kind of computer that executes control calculations, and is typically embodied as a PLC (programmable controller).
  • the control device 100 is connected to the field device 500 via the field network 2.
  • the control device 100 exchanges data with one or more field devices 500 via the field network 2.
  • the control calculation executed in the control device 100 includes a process of collecting data collected or generated in the field device 500, a process of generating data such as a command value for the field device 500, and a field device 500 targeting the generated output data. Includes processing to send to.
  • the field network 2 adopts a bus or network that performs regular periodic communication.
  • a bus or network that performs such constant cycle communication EtherCAT (registered trademark), EtherNet / IP (registered trademark), DeviceNet (registered trademark), CompoNet (registered trademark), and the like are known.
  • EtherCAT® is preferred in that the arrival time of the data is guaranteed.
  • the field device 500 includes an actuator that gives some physical action to a robot, a conveyor, or the like on the field side, an input / output device that exchanges information with the field, and the like.
  • the field device 500 includes a plurality of servo drivers 520_1 and 520_1 and a plurality of servomotors 522_1 and 522_2 connected to each of the plurality of servo drivers 520_1 and 520_2.
  • the field device 500 is an example of a “controlled object”.
  • the servo drivers 520_1 and 520_2 drive the corresponding servomotors of the servomotors 522_1 and 522_2 according to the command values (for example, position command value, speed command value, etc.) from the control device 100. In this way, the control device 100 can control the field device 500.
  • the command values for example, position command value, speed command value, etc.
  • the control device 100 is also connected to other devices via the upper network 6.
  • Ethernet registered trademark
  • EtherNet / IP registered trademark
  • one or more server devices 300 and one or more display devices 400 may be connected to the upper network 6.
  • a database system a manufacturing execution system (MES: Manufacturing Execution System), or the like is assumed.
  • the manufacturing execution system acquires information from the manufacturing equipment and facilities to be controlled, monitors and manages the entire production, and can also handle order information, quality information, shipping information, and the like.
  • a device that provides an information system service may be connected to the upper network 6.
  • an information service it is assumed that information is acquired from a manufacturing device or equipment to be controlled and a macro or micro analysis is performed. For example, data mining that extracts some characteristic trends contained in information from controlled manufacturing equipment and facilities, and machine learning tools for performing machine learning based on information from controlled equipment and machines are assumed. Will be done.
  • the display device 400 receives an operation from the user, outputs a command or the like corresponding to the user operation to the control device 100, and graphically displays the calculation result or the like on the control device 100.
  • a support device 200 can be connected to the control device 100.
  • the support device 200 is a device that supports the preparation necessary for the control device 100 to control the controlled object.
  • the support device 200 is a development environment for a program executed by the control device 100 (program creation / editing tool, parser, compiler, etc.), configuration information of the control device 100 and various devices connected to the control device 100 (program creation / editing tool, parser, compiler, etc.). It provides a setting environment for setting (configuration), a function of outputting a generated program to the control device 100, a function of modifying / changing a program executed on the control device 100, and the like online.
  • control device 100, the support device 200, and the display device 400 are configured as separate bodies, but all or part of these functions are integrated into a single device. Such a configuration may be adopted.
  • the control device 100 stores user data created by the user according to the control target and system data unique to the control device 100 as data for controlling the control target.
  • the user data includes at least a user program created by the user according to the manufacturing equipment or equipment to be controlled and in which instructions for controlling the controlled object are specified.
  • user data includes product recipe data, holding variables related to various processes, traceability data, spool data (SQL queuing), logs related to system and device operation, error information, system configuration information, and unit unit. Includes configuration information, security information (private key, account information, certificate, access control, password), etc.
  • the user can create desired user data based on his / her own knowledge, experience, agreement, etc. by using a setting tool such as the support device 200. That is, user data is an information asset packed with user know-how.
  • System data is a program for realizing basic functions, and includes data related to the OS and firmware that provide an environment for executing various programs such as user programs.
  • the control device 100 having the above-described configuration is not limited to the case where it is used only at one production site, but is also used at other production sites. In addition, it may be used in a plurality of different lines even within one production site.
  • the manufacturer of the control device 100 may carry out a business in which one control device 100 is leased to a plurality of users.
  • FIG. 2 is a schematic diagram showing an example of reuse of the control device according to the present embodiment.
  • the manufacturer of the control device 100 designs the control device 100 by constructing system data and then leases the control device 100 to the end user A.
  • the end user A designs the control device 100 according to the control target by creating a desired user program based on his / her own knowledge, experience, agreement, and the like.
  • the user program created by the end user A is stored in a non-volatile storage such as an SSD (Solid State Drive) included in the control device 100 (hereinafter, SSD (Solid State Drive) or the like) or a non-volatile memory such as an EEPROM. Will be remembered. Then, the end user A operates the control device 100 at the production site.
  • SSD Solid State Drive
  • the end user A When the control device 100 is no longer needed, the end user A returns the control device 100 to the maker, but the maker leases the returned control device 100 to another end user B again. In this way, the control device 100 may be reused among a plurality of users, but the control device 100 is controlled while the user data such as the user program and setting information created by the end user A is held in the control device 100. If the device 100 is leased to the end user B, the information assets of the end user A may be leaked to the end user B.
  • the end user A can delete the management information for managing various data on the file system in the storage by using a setting tool such as the support device 200.
  • FIG. 3 is a schematic diagram showing an example of erasing the management information stored in the control device 100 according to the present embodiment.
  • the storage manages data by a file system, and stores a plurality of management information such as file A, file B, file C, and file D.
  • One or more data are associated with the management information of each file, and each data is stored in the data area in the storage.
  • the management information of the file system is erased, but the entity such as user data is still retained in the data area in the storage. It remains. If the control device 100 is leased to another user in such a state, the user data, which is the asset information of the user who is the original owner, may be restored by the leased user.
  • disabling the substance of the user data includes erasing the user data or overwriting the user data with 0, 1, an arbitrary character, or the like.
  • control device 100 has a control unit 1101 that executes a process for controlling a control target, a storage area 1102 that stores user data and system data, and a data invalidation program as characteristic functional units. It is provided with a disabling unit 1103 that disables user data based on 101.
  • control unit 1101 controls the control target based on the system data stored in the storage area 1102 and the user program included in the user data.
  • the control device 100 is started in the disabling mode in order to discard or reuse the control device 100, the disabling unit 1103 maintains the system data among the data stored in the storage area 1102. Disable user data.
  • the user data including at least the user program created by the user is invalidated, so that the user's information assets are leaked to the outside even if the control device 100 is destroyed or reused, for example. Can be prevented.
  • the system data unique to the control device 100 is maintained, for example, even when the control device 100 is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • FIG. 4 is a schematic view showing a hardware configuration example of the control device 100 according to the present embodiment.
  • the controller 100 is an arithmetic processing unit called a CPU unit, and has a processor 102, a chipset 104, a volatile memory 106, a non-volatile memory 108, a storage 150, and a higher level. It includes a network controller 110, a support device interface 112, a memory card interface 114, an internal bus controller 120, and a field network controller 130.
  • the processor 102 is composed of a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like.
  • a configuration having a plurality of cores may be adopted, or a plurality of processors 102 may be arranged.
  • the chipset 104 realizes the processing as a whole in the control device 100.
  • the volatile memory 106 is composed of various volatile storage devices such as DRAM (Dynamic Random Access Memory) and SRAM (Static Random Access Memory), for example.
  • DRAM Dynamic Random Access Memory
  • SRAM Static Random Access Memory
  • the non-volatile memory 108 includes, for example, SRAM (Static Random Access Memory), MRAM (Magnetoresistive Random Access Memory), FRAM (Ferroelectric Random Access Memory) (registered trademark), EEPROM (Electrically Erasable Programmable Read Only Memory), which holds a battery. It is composed of various non-volatile storage devices such as a NOR type flash memory and a NAND type flash memory.
  • the storage 150 is composed of a large-capacity non-volatile storage device such as an SSD, and has an I / F 152 for communicating with the I / F (interface) 142 in the chipset and a storage area for storing data.
  • 156 includes a controller 154 that executes processing such as reading and writing of data in the storage area 156.
  • the non-volatile memory 108 or the storage 150 has the function of the storage area 1102 in FIG. If the small control device 100 has a relatively small amount of system data and user data, the system data and user data are stored in the storage area in the non-volatile memory 108. In this case, the control device 100 does not have to include the storage 150. On the other hand, in the case of a medium-sized or large-sized control device 100 in which the amount of system data or user data is relatively large, the storage 150 is connected to the chipset 104 and the system data or user data is stored in the storage area 156 in the storage 150. Is memorized.
  • the processor 102 reads various programs stored in the non-volatile memory 108 and the storage 150, expands them in the volatile memory 106, and executes them to realize control according to the control target and various processes.
  • the upper network controller 110 controls the exchange of data with the server device 300, the display device 400 (see FIG. 1), and the like via the upper network 6.
  • the support device interface 112 controls the exchange of data with the support device 200, for example, via a USB (Universal Serial Bus) connection or by Ethernet communication.
  • USB Universal Serial Bus
  • the memory card interface 114 is configured so that the memory card 116 can be attached and detached, and various data can be written to the memory card 116 and various data (user programs, etc.) can be read from the memory card 116.
  • the internal bus controller 120 controls the exchange of data with the I / O unit 122 mounted on the control device 100.
  • the field network controller 130 controls the exchange of data with and from the field device 500 via the field network 2.
  • FIG. 4 shows a configuration example in which the necessary functions are provided by the processor 102 executing the program, and some or all of these provided functions are provided by a dedicated hardware circuit (for example, ASIC). Alternatively, it may be implemented using an FPGA or the like). Alternatively, the main part of the control device 100 may be realized by using hardware that follows a general-purpose architecture (for example, an industrial personal computer based on a general-purpose personal computer). In this case, virtualization technology may be used to execute a plurality of OSs (Operating Systems) having different uses in parallel, and to execute necessary applications on each OS.
  • OSs Operating Systems
  • FIG. 5 is a schematic view showing a hardware configuration example of the support device 200 according to the present embodiment.
  • the support device 200 is realized by executing a program by a computer that follows a general-purpose architecture.
  • the support device 200 includes a processor 202, a volatile memory 204, a non-volatile memory 206, an HDD (Hard Disk Drive) 208, a display 250, a keyboard 210, a mouse 212, and a memory. It includes a card interface 214 and a control device interface 218. These components are communicably connected to each other via the processor bus 220.
  • the processor 202 is composed of a CPU, a GPU, or the like, and reads a program (support program 230 as an example) stored in the non-volatile memory 206 or the HDD 208, expands the program into the volatile memory 204, and executes the various processes. To realize.
  • FIG. 5 a configuration example is shown in which the functions required as the support device 200 are provided by the processor 202 executing a predetermined program, but some or all of these provided functions are dedicated. It may be implemented using the hardware circuit of (for example, ASIC or FPGA).
  • the volatile memory 204 is composed of various volatile storage devices such as DRAM and SRAM.
  • the non-volatile memory 206 is composed of various non-volatile storage devices such as SSD.
  • the support program 230 for providing the functions as the support device 200 is stored.
  • the support program 230 is stored in the HDD 208.
  • the support program 230 defines instructions for causing the computer to function as the support device 200.
  • the display 250 outputs the processing result from the processor 202 and the like.
  • the keyboard 210 and the mouse 212 accept user operations when creating various programs such as user programs or when the user inputs setting values or the like according to a control target.
  • the memory card interface 214 is configured so that the memory card 116 can be attached and detached, and various data (user programs, etc.) can be written to the memory card 116 and various data can be read from the memory card 116.
  • the control device interface 218 exchanges data with an arbitrary external device such as the control device 100 via a network.
  • the support device 200 may include an optical drive, and the support device 200 may be provided from an optical recording medium such as a DVD (Digital Versatile Disc) that temporarily stores a computer-readable program.
  • the program (support program, etc.) stored in the program is read and installed in the non-volatile memory 206, HDD 208, or the like.
  • the support program 230 or the like executed by the support device 200 may be installed via a computer-readable DVD, or may be installed by downloading from a server device 300 or the like on the network. Further, the function provided by the support device 200 according to the present embodiment may be realized by using a part of the module provided by the OS.
  • 6 to 8 are schematic views showing an example of data invalidation by the control device 100 according to the present embodiment.
  • the data invalidation process described below is realized by the processor 102 of the control device 100 executing the data invalidation program 101.
  • the memory card 116 stores a boot image and an OS image that provide an environment for executing data together with a data disabling program for disabling data. These programs and data are created by the support device 200 and stored in the memory card 116. Further, the memory card 116 has a save area for temporarily storing data.
  • the data invalidation process is started by the boot image, and the OS and the data invalidation program are expanded in the volatile memory 106. Will be executed.
  • the data related to the data invalidation such as the data invalidation program is not limited to the data stored in the memory card 116, may be stored in the USB memory, or is stored in the storage device built in the control device 100. You may.
  • the system data is stored in the save area.
  • the system data is stored in both the storage 150 and the memory card 116.
  • the system data saved in the save area in the memory card 116 is returned to the storage 150 and stored again by the storage 150.
  • the system data is maintained, while the user data is disabled.
  • the OS and the data invalidation program deployed in the volatile memory 106 are erased by cutting off the power supply to the volatile memory 106.
  • the memory card 116 stores the Boot image and the OS image together with the data invalidation program.
  • the data invalidation process is started by the boot image, and the OS and the data invalidation program are expanded in the volatile memory 106. Will be executed.
  • the processor 102 identifies desired data among the data stored in the non-volatile memory 108, and performs processing such as reading and writing. Can be executed. Therefore, for example, the processor 102 can directly select and disable the user data from the data stored in the non-volatile memory 108.
  • the processor 102 overwrites the user data three times using 0, 1, or any other character according to the standard (Unclassified Computer Hard Drive Disposition) for erasing data specified by the US Department of Defense.
  • the standard Unclassified Computer Hard Drive Disposition
  • the user data including at least the user program created by the user is invalidated, the user's information assets are leaked to the outside even when the control device 100 is destroyed or reused, for example. Can be prevented.
  • the system data unique to the control device 100 is maintained, for example, even when the control device 100 is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • FIG. 9 is a schematic diagram showing an example of selection of user data to be disabled by the control device 100 according to the present embodiment.
  • the support device 200 provides a user interface for selecting the content of user data to be disabled on the screen for creating the disabling program.
  • the display 250 of the support device 200 has a selection field 251 for designating a range of user data to be disabled, a selection field 252 for designating to disable the user program, and the system.
  • a selection field 255 and a confirmation field 256 for designating to create a disabling program are displayed.
  • selection field 251 "All" or “Select Erase Part” can be selected, and when “All” is selected, the command for invalidating all the data included in the user data is disabled. It is stipulated in the conversion program.
  • an instruction for disabling only the data selected by the selection fields 252 to 255 and the like is specified in the disabling program. For example, if the selection field 252 is checked, an instruction for disabling the user program is specified in the disabling program. If checked in the selection field 253, an instruction for disabling the configuration information is specified in the disabling program. When checked in the selection field 254, an instruction for disabling the holding variable is specified in the disabling program. If checked in the selection field 255, an instruction for disabling the event log is specified in the disabling program. In addition, other data such as error information, unit setting information, and security information can also be disabled by using the support device 200.
  • a disabling program that defines the contents related to the set disabling is created and written to the memory card 116.
  • the created disabling program may be written to the USB memory or may be written to the storage device built in the control device 100.
  • FIGS. 10 and 11 are schematic views showing an example of execution conditions for data invalidation by the control device 100 according to the present embodiment.
  • either the normal mode or the disable mode can be activated by the operation panel 160 including the DIP (Dual In-line Package) switch provided in the control device 100. ..
  • DIP Dual In-line Package
  • the control device 100 starts in the normal mode. In this case, the control device 100 can execute the process of controlling the control target based on the system data and the user data.
  • No. 1 and N réelle. 3 is set to ON and No. 2 and N réelle.
  • 4 is set to OFF, the control device 100 is activated in the disabled mode. In this case, the control device 100 can execute the process of disabling the user data while maintaining the system data.
  • control device 100 can invalidate the user data, but is for preventing a situation in which the user data is invalidated intentionally or unintentionally by a third party.
  • a mechanism is needed. That is, the control device 100 according to the present embodiment has a mechanism that only a predetermined executor can invalidate the user data.
  • the control device 100 includes an operation panel 165 including a DIP switch for password authentication in addition to the DIP switch for activation in the normal mode and the disabled mode.
  • You may. For example, as described above, No. 1 to No. 4, the control device 100 can be activated in the normal mode or the disabling mode, while NO. 5-NO.
  • NO. 5-NO By switching ON / OFF of the DIP switch of 8, a preset password can be input. In this way, NO. 5-NO.
  • the control device 100 may be activated on the condition that the password input by the DIP switch of 8 matches the password set in advance.
  • control device 100 is provided with a physically pressable switch for password authentication, and the display provided on the display device 400 displays the password authentication screen 410. You may do it. In this way, the executor can input the password for authentication by operating the physically pressable switch or the pressable switch icon displayed on the screen 410.
  • an identification information for example, ID
  • a security card for authenticating the identification information possessed by the executor for example, RFID (radio frequency identifier)
  • the identification information of the executor may be authenticated by holding the (ID card having a function) over the authentication unit of the control device 100. Then, the control device 100 may execute the process related to the data invalidation on the condition that the identification information is authenticated.
  • control device 100 may have a biometric authentication function, and the control device 100 relates to data invalidation on condition that the biometric information of the performer who is permitted to invalidate the data has been authenticated.
  • the process may be executed.
  • biometric authentication commonly used authentication techniques such as fingerprint authentication, face authentication, and voice authentication can be used.
  • the hash value generated from the data related to the disabling program may be used to authenticate the authorized performer for disabling the data.
  • a hash value is generated from the disabling program.
  • the disabling program and the hash value are written to the memory card 116 while also being transferred to the controller 100.
  • the disabling program is executed by mounting the memory card 116 on the control device 100, the hash value stored in the memory card 116 and the hash value stored in the control device 100 are compared, and both are compared.
  • the control device 100 may execute the process related to the data invalidation on the condition that the two match.
  • the user data stored in the control device 100 is not invalidated unless a predetermined execution condition is satisfied, so that the user data cannot be invalidated intentionally by a third party or unintentionally by the executor. It is possible to prevent a situation that causes the change.
  • FIG. 12 is a schematic diagram showing an example of notification of the progress status of data invalidation by the control device 100 according to the present embodiment. Note that FIG. 12 describes an example in which the storage 150 stores system data and user data, but even when the non-volatile memory 108 stores system data and user data, a technique for notifying the progress of data invalidation. Can be applied.
  • the progress of data invalidation may be notified by some notification unit.
  • the memory card 116 has a Web server for providing an image display to a Web browser or the like, and a CGI (Common Gateway) for displaying the result of processing related to data invalidation on the Web server. Interface) is stored.
  • the Web server and CGI are deployed in the volatile memory 106 together with the data invalidation program.
  • Data for identifying the progress of data invalidation is transmitted to the support device 200, the display device 400, and the Web browser via the Web server. Then, in the support device 200, the display device 400, and the Web browser, information for specifying the progress status of data invalidation is displayed on the screen.
  • the progress status of data invalidation may be notified by a lighting unit 170 such as an LED (Light Emitting Diode) provided in the control device 100.
  • the lighting unit 170 may be composed of a 7-segment display, display the progress of data invalidation by a percentage, display "OK” at the time of completion, and display "NG” at the time of an error.
  • FIG. 13 is a schematic diagram showing an example of acquisition of the disabling log by the control device 100 according to the present embodiment.
  • the data disabling program expanded in the volatile memory 106 is executed, so that a disabling command (for example, a SATA command) is transmitted to the controller 154 (step a).
  • a disabling command for example, a SATA command
  • the controller 154 disables the user data according to the disable command (step b). Further, the controller 154 sets an end flag indicating that the user data has been disabled (step c).
  • the volatile memory 106 reads and stores the end flag set in the controller 154 (step d).
  • other data stored in the other device 190 is also invalidated (step e).
  • the non-volatile memory 108 is applied to the other device 190. That is, by executing the data invalidation program, the processor 102 invalidates the user data stored in the storage 150 as well as other data stored in the other device 190.
  • the processor 102 generates a disabling log based on the end flag acquired from the storage 150 and the information of the execution result of data disabling in another device (step f).
  • the processor 102 may generate a disabling log based on the start time and end time of the data disabling program, in addition to the end flag and the information on the execution result of data disabling in another device.
  • the generated disabling log is transferred to the memory card 116 (step g) and stored in the memory card 116 (step h).
  • FIG. 14 is a schematic diagram showing an example of storage of the invalidation log by the control device 100 according to the present embodiment.
  • the disabling log stored in the memory card 116 includes the user data targeted for disabling, the disabling method, the disabling result, the presence or absence of an error, and the disabling disclosure time. Includes information about disabling, such as end time.
  • Such a disabling log is not limited to the one stored in the memory card 116, and may be transmitted to the support device 200 via the Web server expanded in the volatile memory 106 and stored by the support device 200. In this way, it is possible to leave evidence that the user data has been reliably disabled not only by the memory card 116 but also by the support device 200.
  • FIGS. 15 to 17 are schematic views showing an example of prevention of falsification of the invalidation log by the control device 100 according to the present embodiment.
  • control device 100 may use a digital signature to prevent falsification of the invalidation log.
  • control device 100 may include a security device 180 such as a TPM (Trusted Platform Module).
  • the security device 180 uses the private key to generate a digital signature based on the disabling log stored in the volatile memory 106 (step a).
  • the generated digital signature is transferred to the support device 200 along with the disabling log (step b).
  • the support device 200 by verifying the digital signature using the public key associated with the private key, it is confirmed that the transferred invalidation log has not been tampered with (step c).
  • control device 100 generates a hash value from the disabling log and encrypts it using a private key to generate a digital signature.
  • the support device 200 generates a hash value by decrypting the digital signature transferred from the control device 100 using the public key, and the hash value generated by itself based on the invalidation log transferred from the control device 100. Determine if they match. If the two match, the control device 100 can determine that the disabling log has not been tampered with.
  • control device 100 may use password authentication to prevent falsification of the invalidation log.
  • the executor who is permitted to disable the data sets a password in advance using the support device 200.
  • the control device 100 may perform password authentication when permitting the use and viewing of the disabling log, and may permit the use and viewing of the disabling log when a password predetermined by the executor is input. ..
  • control device 100 may prevent falsification of the disabling log by leaving evidence certifying that the data disabling is completed.
  • control device 100 generates a digital signature using the private key by the security device 180 based on the invalidation log stored in the volatile memory 106 (step a). Further, the control device 100 generates a hash value based on the disabling log and individual information such as a serial number and a lot number (step b).
  • the user acquires the disabling log and the generated hash value from the control device 100 (step c), and transfers the hash value to the time certification authority (TSA: Time Stamping Authority) (step d).
  • TSA Time Stamping Authority
  • a hash value with time information added is issued as a time stamp token (step e), and the time stamp token is transferred to a user (for example, an executor authorized for data invalidation) (step f). ).
  • the user transfers the time stamp token to the server device 300 together with the invalidation log (step g).
  • the control device 100 transfers the digital signature to the server device 300 (step h).
  • the server device 300 stores the disabling log and the time stamp token obtained from the user and the digital signature obtained from the control device 100 as the disabling evidence certifying that the data disabling is completed (step i).
  • the control device 100 may leave the digital signature generated based on the disabling log in the server device 300 as the disabling evidence. Further, even if the control device 100 adds a time stamp to the hash value generated based on the disabling log and the individual information, and leaves the disabling log associated with the time stamp token in the server device 300 as the disabling evidence. Good. The control device 100 may generate a digital signature based on the disabling log and the individual information, and leave the digital signature in the server device 300 as the disabling evidence.
  • FIG. 18 is a flowchart of the data invalidation process executed by the control device 100 according to the present embodiment. Note that FIG. 18 shows an example of data invalidation processing when system data and user data are stored in the storage 150. Further, the data invalidation process shown in FIG. 18 is mainly executed by the processor 102 of the control device 100.
  • the control device 100 determines whether or not the execution condition for executing the data invalidation is satisfied (S1). Specifically, the control device 100 determines whether or not the predetermined execution conditions described with reference to FIGS. 10 and 11 are satisfied.
  • control device 100 If the execution condition is not satisfied (NO in S1), the control device 100 ends this process. On the other hand, when the execution condition is satisfied (YES in S1), the control device 100 stores the system data stored in the storage 150 in the save area of the memory card 116 (S2).
  • control device 100 disables the system data and user data stored in the storage 150 based on the SATA command or the like (S3). After that, the control device 100 returns the system data saved in the save area of the memory card 116 to the storage 150 and stores it (S4), and ends this process.
  • the data disabling process based on the data disabling program disables the user data including at least the user program created by the user, so that even if the control device 100 is destroyed or reused, for example. , It is possible to prevent the user's information assets from being leaked to the outside.
  • the system data unique to the control device 100 is maintained, for example, even when the control device 100 is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • the control device 100 has the disabling unit 1103, but the present invention is not limited to this.
  • the support device 200 may include a disabling unit having the same function as the disabling unit 1103. In this case, the data disabling process by the support device 200 disables the user data stored in the control device 100. It may be converted.
  • the present embodiment includes the following disclosure.
  • the invalidation unit disables the system data and the user data stored in the storage area after storing a copy of the system data in the save area, and then stores the system data stored in the save area.
  • the disabling unit is a control device (100) of configuration 1 or 2 that disables data selected by the user among the data included in the user data stored in the storage area.
  • the disabling unit is a control device (100) according to any one of configurations 1 to 3 that disables the user data stored in the storage area when a predetermined execution condition is satisfied.
  • the control device includes a storage area (1102) for storing at least user data including a user program created by the user according to the control target and system data specific to the control device.
  • the data disabling program is applied to the computer (102).
  • a control system (1) including a control device (100) that controls a control target (500) and a support device (200) that supports the control device.
  • a control unit (1101) that executes processing for controlling the control target, and
  • a storage area (1102) for storing at least user data including a user program created by the user according to the control target and system data specific to the control device.
  • a control system (1) including a disabling unit (1103) for disabling the user data while maintaining the system data among the data stored in the storage area.
  • the user data including at least the user program created by the user is disabled, so that even if the control device 100 is destroyed or reused, for example, the user It is possible to prevent information assets from being leaked to the outside.
  • the system data unique to the control device 100 is maintained, for example, even if the control device 100 is reused, the user at the reuse destination can save the trouble of constructing new system data.
  • 1 control system 2 field network, 6 upper network, 100 control device, 101 data invalidation program, 102, 202 processor, 104 chipset, 106, 204 volatile memory, 108, 206 non-volatile memory, 110 upper network controller, 112 support device interface, 114,214 memory card interface, 116 memory card, 120 internal bus controller, 122 I / O unit, 130 field network controller, 150 storage, 154 controller, 156,1102 storage area, 160,165 operation panel, 170 lighting part, 180 security device, 190 other device, 200 support device, 210 keyboard, 212 mouse, 218 control device interface, 220 processor bus, 230 support program, 250 display, 251,252, 253, 254, 255 selection fields , 256 confirmation column, 300 server device, 400 display device, 410 screen, 500 field device, 520 servo driver, 522 servo motor, 1101 control unit, 1103 disabling unit.

Abstract

ユーザの情報資産を保護する技術を提供する。制御装置(100)は、制御対象(500)を制御するための処理を実行する制御部(1101)と、制御対象(500)に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置(100)固有のシステムデータを記憶する記憶領域(1102)と、記憶領域(1102)に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部(1103)とを備える。

Description

制御装置、データ不能化プログラム、および制御システム
 本発明は、制御装置、データ不能化プログラム、および制御システムに関し、より特定的には、制御対象を制御する制御装置、制御装置によって実行されるデータを不能化するためのデータ不能化プログラム、および制御装置と当該制御装置を支援するサポート装置とを備える制御システムに関する。
 多くの生産現場で使用される機械や設備などの制御対象は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御装置によって制御される。一般的に、このような制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する。
 たとえば、特開2018-151917号公報(特許文献1)には、ユーザによって作成されたユーザプログラム、および基本的な機能を実現するためのシステムプログラムを記憶するPLCが開示されている。
特開2018-151917号公報
 特許文献1に開示されたPLCは、システムプログラムを実行することで各種プログラムの実行環境を提供するとともに、ユーザプログラムを実行することで制御対象を制御することができる。一般的に、このユーザプログラムは、制御対象を制御するための情報としてユーザのノウハウが詰まっているが、PLCなどの制御装置が不要になった場合に、このようなユーザの情報資産を外部に流出させないように保護することについては何ら鑑みられていなかった。
 本発明は、上述したような課題を解決することを一つの目的とし、ユーザの情報資産を保護する技術を提供することを目的とする。
 本開示の一例に従えば、制御対象を制御する制御装置が提供される。制御装置は、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
 この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 上述の開示において、不能化部は、退避領域にシステムデータのコピーを記憶させた後に記憶領域に記憶されたシステムデータおよびユーザデータを不能化し、その後、退避領域に記憶されたシステムデータを記憶領域に記憶させる。
 この開示によれば、一旦、システムデータおよびユーザデータを不能化することで確実にユーザデータを不能化し、その後、退避しておいたシステムデータを元の記憶領域に記憶させることで、システムデータを維持することができる。
 上述の開示において、不能化部は、記憶領域に記憶されたユーザデータに含まれるデータのうち、選択されたデータを不能化する。
 この開示によれば、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
 上述の開示において、不能化部は、所定の実行条件が成立したときに、記憶領域に記憶されたユーザデータを不能化する。
 この開示によれば、所定の実行条件が成立しない限りは記憶領域に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
 上述の開示において、制御装置は、不能化部によるユーザデータの不能化の進捗状況を報知するための処理を実行する。
 この開示によれば、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
 上述の開示において、制御装置は、不能化部によってユーザデータが不能化されたことを示すログを取得するための処理を実行する。
 この開示によれば、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
 上述の開示において、制御装置は、ログが改ざんされることを防止するための処理を実行する。
 この開示によれば、ユーザデータが確実に不能化されたという証拠が改ざんされてしまうような事態を防止することができる。
 本開示の別の一例に従えば、制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムが提供される。制御装置は、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域を備える。データ不能化プログラムは、コンピュータに、所定の実行条件が成立したか否かを判定させるステップと、所定の実行条件が成立した場合に、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化させるステップとを含む。
 この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 本開示の別の一例に従えば、制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムが提供される。制御システムは、制御対象を制御するための処理を実行する制御部と、制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および制御装置固有のシステムデータを記憶する記憶領域と、記憶領域に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する不能化部とを備える。
 この開示によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置固有のシステムデータは維持されるため、たとえば、制御装置がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
本実施の形態に係る制御装置の適用例を示す模式図である。 本実施の形態に係る制御装置のリユースの一例を示す模式図である。 本実施の形態に係る制御装置が記憶する管理情報の消去の一例を示す模式図である。 本実施の形態に係る制御装置のハードウェア構成例を示す模式図である。 本実施の形態に係るサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の一例を示す模式図である。 本実施の形態に係る制御装置による不能化するユーザデータの選択の一例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の実行条件の一例を示す模式図である。 本実施の形態に係る制御装置によるデータ不能化の進捗状況の報知の一例を示す模式図である。 本実施の形態に係る制御装置による不能化ログの取得の一例を示す模式図である。 本実施の形態に係る制御装置による不能化ログの記憶の一例を示す模式図である。 本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。 本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。 本実施の形態に係る制御装置による不能化ログの改ざん防止の一例を示す模式図である。 本実施の形態に係る制御装置が実行するデータ不能化処理のフローチャートである。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 <A.適用例>
 本発明が適用される場面の一例について説明する。図1は、本実施の形態に係る制御装置100の適用例を示す模式図である。
 図1に示すように、本実施の形態に係る制御システム1は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。典型的には、デバイスは、制御用のプログラムを実行する処理主体である制御装置100と、制御装置100に接続される周辺装置とを含み得る。
 制御装置100は、各種の設備や装置などの制御対象を制御する産業用コントローラに相当する。制御装置100は、制御演算を実行する一種のコンピュータであり、典型的には、PLC(プログラマブルコントローラ)として具現化されている。制御装置100には、フィールドネットワーク2を介してフィールドデバイス500に接続されている。制御装置100は、フィールドネットワーク2を介して、1または複数のフィールドデバイス500との間でデータを遣り取りする。
 制御装置100において実行される制御演算は、フィールドデバイス500において収集または生成されたデータを収集する処理、フィールドデバイス500に対する指令値などのデータを生成する処理、生成した出力データを対象のフィールドデバイス500へ送信する処理などを含む。
 フィールドネットワーク2は、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)、EtherNet/IP(登録商標)、DeviceNet(登録商標)、CompoNet(登録商標)などが知られている。データの到達時間が保証される点において、EtherCAT(登録商標)が好ましい。
 フィールドネットワーク2には、任意のフィールドデバイス500を接続することができる。フィールドデバイス500は、フィールド側にあるロボットやコンベアなどに対して何らかの物理的な作用を与えるアクチュエータ、および、フィールドとの間で情報を遣り取りする入出力装置などを含む。
 図1に示す構成例においては、フィールドデバイス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は、上位ネットワーク6を介して、他の装置にも接続されている。上位ネットワーク6には、一般的なネットワークプロトコルであるイーサネット(登録商標)やEtherNet/IP(登録商標)が採用されてもよい。より具体的には、上位ネットワーク6には、1または複数のサーバ装置300および1または複数の表示装置400が接続されてもよい。
 サーバ装置300としては、データベースシステム、製造実行システム(MES:Manufacturing Execution System)などが想定される。製造実行システムは、制御対象の製造装置や設備からの情報を取得して、生産全体を監視および管理するものであり、オーダ情報、品質情報、出荷情報などを扱うこともできる。これに限らず、情報系サービスを提供する装置を上位ネットワーク6に接続するようにしてもよい。情報系サービスとしては、制御対象の製造装置や設備からの情報を取得して、マクロ的またはミクロ的な分析などを行う処理が想定される。たとえば、制御対象の製造装置や設備からの情報に含まれる何らかの特徴的な傾向を抽出するデータマイニングや、制御対象の設備や機械からの情報に基づく機械学習を行うための機械学習ツールなどが想定される。
 表示装置400は、ユーザからの操作を受けて、制御装置100に対してユーザ操作に応じたコマンドなどを出力するとともに、制御装置100での演算結果などをグラフィカルに表示する。
 制御装置100には、サポート装置200が接続可能になっている。サポート装置200は、制御装置100が制御対象を制御するために必要な準備を支援する装置である。具体的には、サポート装置200は、制御装置100で実行されるプログラムの開発環境(プログラム作成編集ツール、パーサ、コンパイラなど)、制御装置100および制御装置100に接続される各種デバイスの構成情報(コンフィギュレーション)を設定するための設定環境、生成したプログラムを制御装置100へ出力する機能、制御装置100上で実行されるプログラムなどをオンラインで修正・変更する機能などを提供する。
 図1に示される制御システム1においては、制御装置100、サポート装置200、および表示装置400がそれぞれ別体として構成されているが、これらの機能の全部または一部を単一の装置に集約するような構成を採用してもよい。
 制御装置100は、制御対象を制御するためのデータとして、制御対象に応じてユーザによって作成されたユーザデータと、制御装置100固有のシステムデータとを記憶する。
 ユーザデータは、制御対象の製造装置や設備に応じてユーザによって作成され、制御対象を制御するための命令が規定されたユーザプログラムを少なくとも含む。その他、ユーザデータは、製品のレシピデータ、各種処理に係る保持変数、トレーサビリティデータ、スプールに係るデータ(SQLキューイング)、システムや装置の稼働に係るログ、エラー情報、システムにおける構成情報、ユニットの設定情報、セキュリティ情報(秘密鍵、アカウント情報、証明書、アクセス制御、パスワード)などを含む。ユーザは、サポート装置200などの設定ツールを用いることで、自身の知識や経験、取り決めなどに基づいて、所望のユーザデータを作成することができる。すなわち、ユーザデータは、ユーザのノウハウが詰まった情報資産である。
 システムデータは、基本的な機能を実現するためのプログラムであり、ユーザプログラムなどの各種プログラムを実行するための環境を提供するOSやファームウェアに関するデータを含む。
 上述したような構成を有する制御装置100は、一の生産現場のみで使用される場合に限らず、他の生産現場においても使用される。また、一の生産現場内においても複数の異なるラインで使用される場合もある。
 たとえば、図2に示すように、制御装置100のメーカによって、一の制御装置100が複数のユーザにリースされるようなビジネスが行われることがある。図2は、本実施の形態に係る制御装置のリユースの一例を示す模式図である。
 図2に示すように、制御装置100のメーカは、システムデータを構築するなどして制御装置100を設計した後、その制御装置100をエンドユーザAにリースする。エンドユーザAは、自身の知識や経験、取り決めなどに基づいて、所望のユーザプログラムを作成することで、制御対象に応じて制御装置100を設計する。エンドユーザAによって作成されたユーザプログラムは、たとえば、制御装置100が備えるSSD(Solid State Drive)などの不揮発性のストレージ(以下、SSD(Solid State Drive)など)やEEPROMなどの不揮発性のメモリに記憶される。そして、エンドユーザAは、制御装置100を生産現場で運用する。
 制御装置100が不要になると、エンドユーザAは、制御装置100をメーカに返却するが、メーカは、返却された制御装置100を他のエンドユーザBに再びリースする。このようにして、制御装置100が複数のユーザ間でリユースされることがあるが、エンドユーザAによって作成されたユーザプログラムや設定情報などのユーザデータが制御装置100に保持された状態で、制御装置100がエンドユーザBにリースされてしまうと、エンドユーザAの情報資産がエンドユーザBに漏洩する可能性がある。
 ここで、エンドユーザAは、サポート装置200などの設定ツールを用いることで、ストレージにおいてファイルシステム上で各種データを管理するための管理情報を消去することができる。
 たとえば、図3は、本実施の形態に係る制御装置100が記憶する管理情報の消去の一例を示す模式図である。図3(A)に示すように、ストレージは、ファイルシステムによってデータを管理しており、ファイルA、ファイルB、ファイルC、およびファイルDといった複数の管理情報を記憶する。各ファイルの管理情報には、1または複数のデータが対応付けられており、各データはストレージ内のデータエリアに格納されている。
 サポート装置200などの設定ツールによってストレージ内のメモリを消去する処理が行われた場合、ファイルシステムの管理情報は消去されるが、ストレージ内のデータエリアには、ユーザデータなどの実体が依然として保持されたままである。このような状態で制御装置100が他のユーザにリースされてしまうと、元の保有者であるユーザの資産情報であるユーザデータがリース先のユーザによって復元されてしまう虞がある。
 そこで、制御装置100を破棄またはリユースする際に、ユーザの情報資産(ユーザデータ)を外部に流出させないように保護するために、ユーザデータの実体を不能化させる仕組みが求められている。ここで、本実施の形態において、ユーザデータの「不能化」は、ユーザデータを消去すること、あるいは、ユーザデータを0や1、任意の文字などで上書きすることを含む。
 図1に戻り、制御装置100は、特徴的な機能部として、制御対象を制御するための処理を実行する制御部1101と、ユーザデータおよびシステムデータを記憶する記憶領域1102と、データ不能化プログラム101に基づきユーザデータを不能化する不能化部1103とを備える。
 制御部1101は、通常モードで制御装置100が起動されると、記憶領域1102に記憶されたシステムデータ、およびユーザデータに含まれるユーザプログラムに基づいて、制御対象を制御する。不能化部1103は、制御装置100を破棄したりリユースしたりするために不能化モードで制御装置100が起動されると、記憶領域1102に記憶されたデータのうち、システムデータを維持する一方でユーザデータを不能化する。
 これにより、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 <B.制御装置100のハードウェア構成例>
 次に、本実施の形態に係る制御装置100のハードウェア構成例について説明する。図4は、本実施の形態に係る制御装置100のハードウェア構成例を示す模式図である。
 図4に示すように、制御装置100は、CPUユニットと称される演算処理部であり、プロセッサ102と、チップセット104と、揮発性メモリ106と、不揮発性メモリ108と、ストレージ150と、上位ネットワークコントローラ110と、サポート装置インターフェース112と、メモリカードインターフェース114と、内部バスコントローラ120と、フィールドネットワークコントローラ130とを含む。
 プロセッサ102は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサ102としては、複数のコアを有する構成を採用してもよいし、プロセッサ102を複数配置してもよい。チップセット104は、プロセッサ102および周辺エレメントを制御することで、制御装置100における全体としての処理を実現する。
 揮発性メモリ106は、たとえば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)など、各種の揮発性記憶装置によって構成される。
 不揮発性メモリ108は、たとえば、バッテリを保持するSRAM(Static Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FRAM(Ferroelectric Random Access Memory)(登録商標)、EEPROM(Electrically Erasable Programmable Read Only Memory)、NOR型フラッシュメモリ、およびNAND型フラッシュメモリなど、各種の不揮発性記憶装置によって構成される。
 ストレージ150は、たとえば、SSDなどの大容量の不揮発性記憶装置によって構成され、チップセット内のI/F(interface)142との間で通信するためのI/F152と、データを記憶する記憶領域156と、記憶領域156内のデータの読み出しや書き込みなどの処理を実行するコントローラ154とを含む。
 不揮発性メモリ108またはストレージ150は、図1における記憶領域1102の機能を有する。システムデータやユーザデータのデータ量が比較的小さい小型の制御装置100であれば、不揮発性メモリ108内の記憶領域にシステムデータやユーザデータが記憶される。この場合、制御装置100は、ストレージ150を備えていなくてもよい。一方、システムデータやユーザデータのデータ量が比較的大きい中型または大型の制御装置100であれば、チップセット104にストレージ150が接続されるとともに、ストレージ150内の記憶領域156にシステムデータやユーザデータが記憶される。
 プロセッサ102は、不揮発性メモリ108やストレージ150に格納された各種プログラムを読み出して、揮発性メモリ106に展開して実行することで、制御対象に応じた制御、および、各種処理を実現する。
 上位ネットワークコントローラ110は、上位ネットワーク6を介して、サーバ装置300や表示装置400(図1参照)などとの間のデータの遣り取りを制御する。サポート装置インターフェース112は、たとえば、USB(Universal Serial Bus)接続を介して、またはEtherNet通信によって、サポート装置200との間のデータの遣り取りを制御する。
 メモリカードインターフェース114は、メモリカード116が着脱可能に構成されており、メモリカード116に対して各種データを書き込み、メモリカード116から各種データ(ユーザプログラムなど)を読み出すことが可能になっている。
 内部バスコントローラ120は、制御装置100に装着されるI/Oユニット122との間のデータの遣り取りを制御する。フィールドネットワークコントローラ130は、フィールドネットワーク2を介したフィールドデバイス500との間のデータの遣り取りを制御する。
 図4には、プロセッサ102がプログラムを実行することで必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。あるいは、制御装置100の主要部を、汎用的なアーキテクチャに従うハードウェア(たとえば、汎用パソコンをベースとした産業用パソコン)を用いて実現してもよい。この場合には、仮想化技術を用いて、用途の異なる複数のOS(Operating System)を並列的に実行させるとともに、各OS上で必要なアプリケーションを実行させるようにしてもよい。
 <C.サポート装置200のハードウェア構成例>
 次に、本実施の形態に係るサポート装置200のハードウェア構成例について説明する。図5は、本実施の形態に係るサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
 図5に示すように、サポート装置200は、プロセッサ202と、揮発性メモリ204と、不揮発性メモリ206と、HDD(Hard Disk Drive)208と、ディスプレイ250と、キーボード210と、マウス212と、メモリカードインターフェース214と、制御装置インターフェース218とを備える。これらのコンポーネントは、プロセッサバス220を介して相互に通信可能に接続されている。
 プロセッサ202は、CPUやGPUなどで構成され、不揮発性メモリ206やHDD208に格納されたプログラム(一例として、サポートプログラム230)を読み出して、揮発性メモリ204に展開して実行することで、各種処理を実現する。
 図5の例では、プロセッサ202が所定のプログラムを実行することで、サポート装置200として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
 揮発性メモリ204は、DRAMやSRAMなど、各種の揮発性記憶装置によって構成される。不揮発性メモリ206は、SSDなど、各種の不揮発性記憶装置によって構成される。
 不揮発性メモリ206やHDD208には、基本的な機能を実現するためのOSに加えて、サポート装置200としての機能を提供するためのサポートプログラム230が格納されている。なお、図5の例では、HDD208にサポートプログラム230が格納されている。サポートプログラム230には、コンピュータをサポート装置200として機能させるための命令が規定されている。
 ディスプレイ250は、プロセッサ202からの処理結果などを出力する。キーボード210やマウス212は、ユーザプログラムなどの各種のプログラムを作成したり、制御対象に応じた設定値などをユーザが入力したりするときに、ユーザ操作を受け付ける。
 メモリカードインターフェース214は、メモリカード116が着脱可能に構成されており、メモリカード116に対して各種データ(ユーザプログラムなど)を書き込み、メモリカード116から各種データを読み出すことが可能になっている。
 制御装置インターフェース218は、ネットワークを介して、制御装置100などの任意の外部装置などとの間でデータを遣り取りする。
 なお、図示は省略するが、サポート装置200は、光学ドライブを備えていてもよく、コンピュータが読み取り可能なプログラムを非一過的に格納するDVD(Digital Versatile Disc)などの光学記録媒体から、その中に格納されたプログラム(サポートプログラムなど)が読み取られて不揮発性メモリ206やHDD208などにインストールされる。
 サポート装置200で実行されるサポートプログラム230などは、コンピュータ読取可能なDVDを介してインストールされてもよいが、ネットワーク上のサーバ装置300などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 <D.データ不能化の一例>
 図6~図8を参照しながら、データ(特にユーザデータ)の不能化について説明する。図6~図8は、本実施の形態に係る制御装置100によるデータ不能化の一例を示す模式図である。なお、以下で説明するデータ不能化の処理は、制御装置100のプロセッサ102がデータ不能化プログラム101を実行することで実現される。
 先ず、図6および図7を参照しながら、図1における記憶領域1102としてストレージ150が適用された場合におけるデータの不能化について説明する。
 図6(A)に示すように、メモリカード116は、データを不能化するためのデータ不能化プログラムとともに、データを実行するための環境を提供するBootイメージおよびOSイメージを記憶する。これらのプログラムやデータは、サポート装置200によって作成され、メモリカード116に格納される。さらに、メモリカード116は、データを一時的に格納するための退避領域を有する。
 図6(B)に示すように、メモリカード116が制御装置100に装着されると、Bootイメージによってデータ不能化の処理が開始され、OSおよびデータ不能化プログラムが揮発性メモリ106に展開されて実行される。なお、データ不能化プログラムなどのデータ不能化に係るデータは、メモリカード116に格納されるものに限らず、USBメモリに格納されてもよいし、制御装置100に内蔵された記憶デバイスに格納されてもよい。
 図6(C)に示すように、ストレージ150に格納されたデータのうち、システムデータが退避領域に格納される。これにより、ストレージ150およびメモリカード116の両方にシステムデータが記憶されることになる。
 図7(D)に示すように、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、ストレージ150に格納されていたシステムデータおよびユーザデータを含む全てのデータが完全に消去される。具体的には、ストレージ150の一例であるSSDの記憶システム上、プロセッサ102は、ストレージ150に格納されたデータのうち、ユーザデータが書かれたセルを特定することができない。このため、たとえば、プロセッサ102は、SATA(Serial AT Attachment)規格で定められたデータを消去するためのコマンドを使用することで、ストレージ150に格納されたデータを完全に消去する(たとえば、データをクリアする)。これにより、ストレージ150であるSSDのSecure Erase機能やEnhanced Secure Erase機能によって、システムデータおよびユーザデータが消去されて不能化される。
 図7(E)に示すように、メモリカード116内の退避領域に退避していたシステムデータが、ストレージ150に戻され、再びストレージ150によって記憶される。これにより、ストレージ150に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。なお、揮発性メモリ106に展開されたOSおよびデータ不能化プログラムは、揮発性メモリ106に対する電力供給が遮断されることで、消去される。
 次に、図8を参照しながら、図1における記憶領域1102として不揮発性メモリ108が適用された場合におけるデータの不能化について説明する。
 図8(A)に示すように、メモリカード116は、データ不能化プログラムとともに、BootイメージおよびOSイメージを記憶する。
 図8(B)に示すように、メモリカード116が制御装置100に装着されると、Bootイメージによってデータ不能化の処理が開始され、OSおよびデータ不能化プログラムが揮発性メモリ106に展開されて実行される。
 図8(C)に示すように、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、不揮発性メモリ108に格納されていたデータのうち、ユーザデータが選択されて不能化される。具体的には、不揮発性メモリ108の一例であるEEPROMの記憶システム上、プロセッサ102は、不揮発性メモリ108に格納されたデータのうち、所望のデータを特定して、読み出しや書き込みなどの処理を実行することができる。このため、たとえば、プロセッサ102は、不揮発性メモリ108に格納されていたデータのうち、ユーザデータを直接的に選択して不能化することができる。たとえば、プロセッサ102は、米国国防省が規定するデータを消去するための規格(Unclassified Computer Hard Drive Disposition)に従って、0や1、あるいは他の任意の文字を用いて、ユーザデータを3回上書きする。これにより、不揮発性メモリ108に記憶されたデータのうち、システムデータが維持される一方で、ユーザデータが不能化されることになる。
 上述したようにして、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 <E.不能化するユーザデータの選択の一例>
 図9を参照しながら、不能化するユーザデータの選択について説明する。図9は、本実施の形態に係る制御装置100による不能化するユーザデータの選択の一例を示す模式図である。
 図9に示すように、サポート装置200は、不能化プログラムを作成するための画面において、不能化の対象となるユーザデータの内容を選択するためのユーザインターフェースを提供する。
 具体的には、サポート装置200のディスプレイ250には、不能化するユーザデータの範囲を指定するための選択欄251と、ユーザプログラムを不能化することを指定するための選択欄252と、システムにおける構成情報を不能化することを指定するための選択欄253と、各種処理に係る保持変数を不能化することを指定するための選択欄254と、イベントログを不能化することを指定するための選択欄255と、不能化プログラムを作成することを指定するための確定欄256とが表示される。
 たとえば、選択欄251においては、「All」または「Select Erase Part」を選択することができ、「All」が選択されると、ユーザデータに含まれる全てのデータを不能化するための命令が不能化プログラムに規定される。
 一方、「Select Erase Part」が選択されると、選択欄252~選択欄255などによって選択されたデータのみを不能化する命令が不能化プログラムに規定される。たとえば、選択欄252でチェックが付けられると、ユーザプログラムを不能化するための命令が不能化プログラムに規定される。選択欄253でチェックが付けられると、構成情報を不能化するための命令が不能化プログラムに規定される。選択欄254でチェックが付けられると、保持変数を不能化するための命令が不能化プログラムに規定される。選択欄255でチェックが付けられると、イベントログを不能化するための命令が不能化プログラムに規定される。なお、エラー情報やユニットの設定情報、セキュリティ情報など、その他のデータについても、サポート装置200を用いて不能化の対象とすることができる。
 確定欄256にポインタを合わせてマウス212がクリックされると、設定された不能化に係る内容を規定する不能化プログラムが作成され、メモリカード116に書き出される。なお、作成された不能化プログラムは、USBメモリに書き出されてもよいし、制御装置100に内蔵された記憶デバイスに書き出されてもよい。
 これにより、ユーザデータに含まれるデータのうち、所望のデータのみを不能化することができるため、ユーザデータの不能化時における利便性が向上する。
 <F.データ不能化の実行条件の一例>
 図10および図11を参照しながら、データ不能化の実行条件の一例について説明する。図10および図11は、本実施の形態に係る制御装置100によるデータ不能化の実行条件の一例を示す模式図である。
 図10(A)に示すように、制御装置100に設けられたDIP(Dual In-line Package)スイッチを含む操作盤160によって、通常モードおよび不能化モードのうち、いずれかを起動させることができる。たとえば、No.1~No.4の全てのDIPスイッチがONに設定された場合、制御装置100が通常モードで起動する。この場合、制御装置100は、システムデータおよびユーザデータに基づいて、制御対象を制御する処理を実行可能となる。一方、No.1およびNо.3がONに設定されるとともにNo.2およびNо.4がOFFに設定された場合、制御装置100が不能化モードで起動する。この場合、制御装置100は、システムデータを維持する一方でユーザデータを不能化する処理を実行可能となる。
 上述したように、制御装置100は、ユーザデータを不能化させることができるが、第三者による故意、またはユーザが意図せずにユーザデータを不能化させてしまうような事態を防止するための仕組みが必要である。つまり、本実施の形態に係る制御装置100は、予め定められた実行者のみがユーザデータを不能化させることができるような仕組みを有する。
 具体的には、図10(B)に示すように、制御装置100は、通常モードや不能化モードにおける起動用のDIPスイッチの他に、パスワード認証用のDIPスイッチを含む操作盤165を備えていてもよい。たとえば、上述したように、No.1~No.4のDIPスイッチのON/OFFを切り替えることで、通常モードまたは不能化モードで制御装置100が起動させることができる一方で、NO.5~NO.8のDIPスイッチのON/OFFを切り替えることで、予め設定したパスワードを入力することができる。このように、NO.5~NO.8のDIPスイッチによって入力されたパスワードが予め設定したパスワードと一致することを条件に、制御装置100が起動するようにしてもよい。
 また、図10(c)に示すように、制御装置100にパスワード認証用の物理的に押圧可能なスイッチが設けられたり、表示装置400に設けられたディスプレイにパスワード認証用の画面410が表示されたりしてもよい。このようにすれば、実行者は、物理的に押圧可能なスイッチや画面410に表示された押下可能なスイッチアイコンを操作することで、認証用のパスワードを入力することができる。
 その他、データの不能化について許可された実行者が有する識別情報(たとえば、ID)を予め設定しておき、実行者が有する識別情報を認証するためのセキュリティカード(たとえば、RFID(radio frequency identifier)機能を有するIDカード)を制御装置100の認証部にかざすことで、実行者の識別情報が認証されてもよい。そして、制御装置100は、識別情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。
 また、制御装置100は、生体認証機能を有していてもよく、制御装置100は、データ不能化が許可された実行者の生体情報の認証が取れたことを条件に、データ不能化に係る処理を実行してもよい。生体認証としては、指紋認証、顔認証、および音声認証など、一般的に用いられている認証技術を用いることができる。
 また、図11に示すように、不能化プログラムに係るデータから生成されるハッシュ値を利用して、データの不能化について許可された実行者を認証してもよい。具体的には、サポート装置200によって不能化プログラムが作成される際に、不能化プログラムからハッシュ値が生成される。不能化プログラムおよびハッシュ値は、メモリカード116に書き出される一方で、制御装置100にも転送される。メモリカード116が制御装置100に装着されることで不能化プログラムが実行される際には、メモリカード116に格納されたハッシュ値と、制御装置100に格納されたハッシュ値とが比較され、両者が一致することを条件に、制御装置100は、データ不能化に係る処理を実行してもよい。
 このように、所定の実行条件が成立しない限りは制御装置100に記憶されたユーザデータが不能化されることがないため、第三者による故意、または実行者が意図せずにユーザデータを不能化させてしまうような事態を防止することができる。
 <G.データ不能化の進捗状況の報知の一例>
 図12を参照しながら、データ不能化の進捗状況の報知の一例について説明する。図12は、本実施の形態に係る制御装置100によるデータ不能化の進捗状況の報知の一例を示す模式図である。なお、図12では、ストレージ150がシステムデータおよびユーザデータを記憶する例について説明するが、不揮発性メモリ108がシステムデータおよびユーザデータを記憶する場合についても、データ不能化の進捗状況の報知の技術を適用することができる。
 図12(A)に示すように、データ不能化の進捗状況が何らかの報知部によって報知されてもよい。具体的には、メモリカード116には、Webブラウザなどに対して画像の表示を提供するためのWebサーバ、およびWebサーバ上でデータ不能化に係る処理の結果を表示するためのCGI(Common Gateway Interface)が格納されている。WebサーバおよびCGIは、データ不能化プログラムとともに揮発性メモリ106に展開される。サポート装置200や表示装置400、Webブラウザには、Webサーバを介してデータ不能化の進捗状況を特定するためのデータが送信される。そして、サポート装置200や表示装置400、Webブラウザにおいては、データ不能化の進捗状況を特定するための情報が画面上に表示される。
 また、図12(B)に示すように、制御装置100に設けられたLED(Light Emitting Diode)などの点灯部170によって、データ不能化の進捗状況が報知されてもよい。たとえば、点灯部170は、7セグメントディスプレイによって構成され、パーセンテージによってデータ不能化の進捗状況を表示するとともに、完了時には「OK」と表示し、エラー時には「NG」と表示してもよい。
 このように、ユーザデータの不能化の進捗状況を実行者が把握することができるため、たとえば、データ不能化の実行中に実行者によって電源が遮断されてしまうような事態を防止することができる。
 <H.不能化ログの取得の一例>
 図13を参照しながら、データ不能化が完了したことを示す不能化ログの取得の一例について説明する。図13は、本実施の形態に係る制御装置100による不能化ログの取得の一例を示す模式図である。
 図13に示すように、先ず、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、不能化コマンド(たとえば、SATAコマンド)がコントローラ154に送信される(ステップa)。コントローラ154は、不能化コマンドに従って、ユーザデータを不能化する(ステップb)。さらに、コントローラ154は、ユーザデータを不能化したことを示す終了フラグをセットする(ステップc)。
 次に、揮発性メモリ106は、コントローラ154においてセットされた終了フラグを読み出し、記憶する(ステップd)。一方、揮発性メモリ106に展開されたデータ不能化プログラムが実行されることで、他のデバイス190に記憶された他のデータも不能化される(ステップe)。他のデバイス190には、たとえば、不揮発性メモリ108が適用される。つまり、プロセッサ102は、データ不能化プログラムを実行することで、ストレージ150に格納されたユーザデータとともに、他のデバイス190に格納された他のデータも不能化する。
 そして、プロセッサ102は、ストレージ150から取得した終了フラグと、他のデバイスにおけるデータ不能化の実行結果の情報とに基づき、不能化ログを生成する(ステップf)。なお、プロセッサ102は、終了フラグおよび他のデバイスにおけるデータ不能化の実行結果の情報の他に、データ不能化プログラムの開始時間や終了時間などに基づいて、不能化ログを生成してもよい。生成された不能化ログは、メモリカード116に転送され(ステップg)、メモリカード116に記憶される(ステップh)。
 これにより、ユーザデータが不能化されたことを示す不能化ログが記録として残るため、ユーザデータが確実に不能化されたという証拠を残すことができる。
 <I.不能化ログの記憶の一例>
 図14を参照しながら、不能化ログの記憶の一例について説明する。図14は、本実施の形態に係る制御装置100による不能化ログの記憶の一例を示す模式図である。
 図13で示したようにしてメモリカード116に記憶された不能化ログは、不能化の対象となったユーザデータ、不能化の方法、不能化の結果、エラーの有無、不能化の開示時間や終了時間など、不能化に関する情報を含む。
 このような不能化ログは、メモリカード116に記憶されるものに限らず、揮発性メモリ106に展開されたWebサーバを介してサポート装置200に送信され、サポート装置200によって記憶されてもよい。このようにすれば、メモリカード116に限らず、サポート装置200によってもユーザデータが確実に不能化されたという証拠を残すことができる。
 <J.不能化ログの改ざん防止の一例>
 図15~図17を参照しながら、不能化ログの改ざん防止について説明する。図15~図17は、本実施の形態に係る制御装置100による不能化ログの改ざん防止の一例を示す模式図である。
 図15に示すように、制御装置100は、デジタル署名を利用して不能化ログの改ざんを防止してもよい。
 具体的には、制御装置100は、TPM(Trusted Platform Module)などのセキュリティデバイス180を備えていてもよい。セキュリティデバイス180は、揮発性メモリ106に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する(ステップa)。生成されたデジタル署名は、不能化ログとともにサポート装置200に転送される(ステップb)。サポート装置200においては、秘密鍵に対応付けられた公開鍵を用いてデジタル署名を検証することで、転送された不能化ログが改ざんされていないことを確認する(ステップc)。
 たとえば、制御装置100は、不能化ログからハッシュ値を生成し、秘密鍵を用いて暗号化することでデジタル署名を生成する。サポート装置200は、公開鍵を用いて制御装置100から転送されたデジタル署名を復号化することでハッシュ値を生成し、制御装置100から転送された不能化ログに基づき自身で生成したハッシュ値と一致するか否かを判定する。制御装置100は、両者が一致すれば、不能化ログが改ざんされていないと判断することができる。
 また、図16に示すように、制御装置100は、パスワードによる認証を利用して不能化ログの改ざんを防止してもよい。
 具体的には、データの不能化について許可された実行者は、サポート装置200を用いて予めパスワードを設定する。制御装置100は、不能化ログの使用や閲覧を許可する際にパスワード認証を行い、実行者によって予め決められたパスワードが入力された場合に、不能化ログの使用や閲覧を許可してもよい。
 また、図17に示すように、制御装置100は、データ不能化が完了したことを証明するエビデンスを残すことで、不能化ログの改ざんを防止してもよい。
 具体的には、制御装置100は、セキュリティデバイス180によって、揮発性メモリ106に記憶された不能化ログに基づいて、秘密鍵を用いてデジタル署名を生成する(ステップa)。さらに、制御装置100は、不能化ログと、シリアル番号やロット番号などの個体情報とに基づきハッシュ値を生成する(ステップb)。
 ユーザは、不能化ログ、および生成されたハッシュ値を制御装置100から取得し(ステップc)、時刻認証局(TSA:Time Stamping Authority)にハッシュ値を転送する(ステップd)。TSAにおいては、ハッシュ値に時刻情報を付加したものをタイムスタンプトークンとして発行し(ステップe)、タイムスタンプトークンをユーザ(たとえば、データの不能化について許可された実行者)に転送する(ステップf)。
 ユーザは、不能化ログとともにタイムスタンプトークンをサーバ装置300に転送する(ステップg)。一方、制御装置100は、デジタル署名をサーバ装置300に転送する(ステップh)。サーバ装置300は、ユーザから取得した不能化ログおよびタイムスタンプトークンと、制御装置100から取得したデジタル署名とを、データ不能化が完了したことを証明する不能化エビデンスとして記憶する(ステップi)。
 このように、制御装置100は、不能化ログに基づき生成したデジタル署名を不能化エビデンスとしてサーバ装置300に残してもよい。また、制御装置100は、不能化ログと個体情報とに基づき生成したハッシュ値にタイムスタンプを付加し、そのタイムスタンプトークンを対応付けた不能化ログを不能化エビデンスとしてサーバ装置300に残してもよい。なお、制御装置100は、不能化ログと個体情報とに基づきデジタル署名を生成し、そのデジタル署名を不能化エビデンスとしてサーバ装置300に残してもよい。
 このように、図15~図17に示した方法によって、ユーザデータが確実に不能化されたという証拠である不能化ログが改ざんされてしまうような事態を防止することができる。
 <K.データ不能化処理の一例>
 図18を参照しながら、制御装置100がデータ不能化プログラムに基づいて実行するデータ不能化処理について説明する。図18は、本実施の形態に係る制御装置100が実行するデータ不能化処理のフローチャートである。なお、図18では、ストレージ150にシステムデータおよびユーザデータが記憶された場合におけるデータ不能化処理の一例が示されている。また、図18に示すデータ不能化処理は、主に制御装置100のプロセッサ102によって実行される。
 図18に示すように、制御装置100は、データ不能化を実行するための実行条件が成立したか否かを判定する(S1)。具体的には、制御装置100は、図10および図11を用いて説明した所定の実行条件が成立したか否かを判定する。
 制御装置100は、実行条件が成立していない場合(S1でNO)、本処理を終了する。一方、制御装置100は、実行条件が成立した場合(S1でYES)、ストレージ150に記憶されたシステムデータをメモリカード116の退避領域に記憶させる(S2)。
 次に、制御装置100は、ストレージ150に記憶されたシステムデータおよびユーザデータをSATAコマンドなどに基づいて不能化する(S3)。その後、制御装置100は、メモリカード116の退避領域に退避させていたシステムデータをストレージ150に戻して記憶し(S4)、本処理を終了する。
 このように、データ不能化プログラムに基づくデータ不能化処理によって、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 なお、本実施の形態においては、図1に示すように、制御装置100が不能化部1103を有していたが、これに限らない。たとえば、サポート装置200が不能化部1103と同様の機能を有する不能化部を備えていてもよく、この場合、サポート装置200によるデータ不能化処理によって、制御装置100に記憶されたユーザデータが不能化されてもよい。
 <L.付記>
 以上のように、本実施の形態では以下のような開示を含む。
 (構成1)
 制御対象(500)を制御する制御装置(100)であって、
 前記制御対象を制御するための処理を実行する制御部(1101)と、
 前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)と、
 前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部(1103)とを備える、制御装置(100)。
 (構成2)
 前記不能化部は、退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化し、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させる、構成1の制御装置(100)。
 (構成3)
 前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、構成1または構成2の制御装置(100)。
 (構成4)
 前記不能化部は、所定の実行条件が成立したときに、前記記憶領域に記憶された前記ユーザデータを不能化する、構成1~構成3のいずれかの制御装置(100)。
 (構成5)
 前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、構成1~構成4のいずれかの制御装置(100)。
 (構成6)
 前記不能化部によって前記ユーザデータが不能化されたことを示すログを取得するための処理を実行する、構成1~構成5の制御装置(100)。
 (構成7)
 前記ログが改ざんされることを防止するための処理を実行する、構成6の制御装置(100)。
 (構成8)
 制御対象(500)を制御する制御装置(100)によって実行されるデータを不能化するためのデータ不能化プログラム(101)であって、
 前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)を備え、
 前記データ不能化プログラムは、コンピュータ(102)に、
 所定の実行条件が成立したか否かを判定させるステップ(S1)と、
 前記所定の実行条件が成立した場合に、前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化させるステップ(S2,S3,S4)とを含む、データ不能化プログラム。
 (構成9)
 制御対象(500)を制御する制御装置(100)と当該制御装置を支援するサポート装置(200)とを備える制御システム(1)であって、
 前記制御対象を制御するための処理を実行する制御部(1101)と、
 前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域(1102)と、
 前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部(1103)とを備える、制御システム(1)。
 <M.利点>
 本実施の形態に係る制御システム1によれば、ユーザによって作成されたユーザプログラムを少なくとも含むユーザデータが不能化されるため、たとえば、制御装置100が破棄されたりリユースされたりする場合でも、ユーザの情報資産が外部に流出されることを防止することができる。一方、制御装置100固有のシステムデータは維持されるため、たとえば、制御装置100がリユースされた場合でも、リユース先のユーザが新たにシステムデータを構築する手間を省くことができる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2 フィールドネットワーク、6 上位ネットワーク、100 制御装置、101 データ不能化プログラム、102,202 プロセッサ、104 チップセット、106,204 揮発性メモリ、108,206 不揮発性メモリ、110 上位ネットワークコントローラ、112 サポート装置インターフェース、114,214 メモリカードインターフェース、116 メモリカード、120 内部バスコントローラ、122 I/Oユニット、130 フィールドネットワークコントローラ、150 ストレージ、154 コントローラ、156,1102 記憶領域、160,165 操作盤、170 点灯部、180 セキュリティデバイス、190 他のデバイス、200 サポート装置、210 キーボード、212 マウス、218 制御装置インターフェース、220 プロセッサバス、230 サポートプログラム、250 ディスプレイ、251,252,253,254,255 選択欄、256 確定欄、300 サーバ装置、400 表示装置、410 画面、500 フィールドデバイス、520 サーボドライバ、522 サーボモータ、1101 制御部、1103 不能化部。

Claims (9)

  1.  制御対象を制御する制御装置であって、
     前記制御対象を制御するための処理を実行する制御部と、
     前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域と、
     前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部とを備える、制御装置。
  2.  前記不能化部は、退避領域に前記システムデータのコピーを記憶させた後に前記記憶領域に記憶された前記システムデータおよび前記ユーザデータを不能化し、その後、前記退避領域に記憶された前記システムデータを前記記憶領域に記憶させる、請求項1に記載の制御装置。
  3.  前記不能化部は、前記記憶領域に記憶された前記ユーザデータに含まれるデータのうち、ユーザによって選択されたデータを不能化する、請求項1または請求項2に記載の制御装置。
  4.  前記不能化部は、所定の実行条件が成立したときに、前記記憶領域に記憶された前記ユーザデータを不能化する、請求項1~請求項3のいずれか1項に記載の制御装置。
  5.  前記不能化部による前記ユーザデータの不能化の進捗状況を報知するための処理を実行する、請求項1~請求項4のいずれか1項に記載の制御装置。
  6.  前記不能化部によって前記ユーザデータが不能化されたことを示すログを取得するための処理を実行する、請求項1~請求項5のいずれか1項に記載の制御装置。
  7.  前記ログが改ざんされることを防止するための処理を実行する、請求項6に記載の制御装置。
  8.  制御対象を制御する制御装置によって実行されるデータを不能化するためのデータ不能化プログラムであって、
     前記制御装置は、前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域を備え、
     前記データ不能化プログラムは、コンピュータに、
     所定の実行条件が成立したか否かを判定させるステップと、
     前記所定の実行条件が成立した場合に、前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化させるステップとを含む、データ不能化プログラム。
  9.  制御対象を制御する制御装置と当該制御装置を支援するサポート装置とを備える制御システムであって、
     前記制御対象を制御するための処理を実行する制御部と、
     前記制御対象に応じてユーザによって作成されたユーザプログラムを少なくとも含むユーザデータ、および前記制御装置固有のシステムデータを記憶する記憶領域と、
     前記記憶領域に記憶されたデータのうち、前記システムデータを維持する一方で前記ユーザデータを不能化する不能化部とを備える、制御システム。
PCT/JP2020/008624 2019-05-23 2020-03-02 制御装置、データ不能化プログラム、および制御システム WO2020235172A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-096961 2019-05-23
JP2019096961A JP7400215B2 (ja) 2019-05-23 2019-05-23 制御装置、データ不能化プログラム、および制御システム

Publications (1)

Publication Number Publication Date
WO2020235172A1 true WO2020235172A1 (ja) 2020-11-26

Family

ID=73453809

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/008624 WO2020235172A1 (ja) 2019-05-23 2020-03-02 制御装置、データ不能化プログラム、および制御システム

Country Status (2)

Country Link
JP (1) JP7400215B2 (ja)
WO (1) WO2020235172A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178074A (ja) * 2011-02-28 2012-09-13 Mitsubishi Electric Corp プラント運用・保守端末及びプラント運用・保守の記録管理方法
JP2015076070A (ja) * 2013-10-11 2015-04-20 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2017037497A (ja) * 2015-08-11 2017-02-16 レノボ・シンガポール・プライベート・リミテッド 不揮発性記憶装置の消去システム、不揮発性記憶装置、外部消去装置および方法
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6234885B2 (ja) 2014-06-11 2017-11-22 京セラドキュメントソリューションズ株式会社 画像処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012178074A (ja) * 2011-02-28 2012-09-13 Mitsubishi Electric Corp プラント運用・保守端末及びプラント運用・保守の記録管理方法
JP2015076070A (ja) * 2013-10-11 2015-04-20 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP2017037497A (ja) * 2015-08-11 2017-02-16 レノボ・シンガポール・プライベート・リミテッド 不揮発性記憶装置の消去システム、不揮発性記憶装置、外部消去装置および方法
JP2017079008A (ja) * 2015-10-21 2017-04-27 株式会社キーエンス プログラマブル・ロジック・コントローラおよび制御方法

Also Published As

Publication number Publication date
JP2020191004A (ja) 2020-11-26
JP7400215B2 (ja) 2023-12-19

Similar Documents

Publication Publication Date Title
CN101523398B (zh) 用于管理对插件数据文件访问的系统和方法
EP1785902B1 (en) Decryption key table access control on ASIC or ASSP
KR101016076B1 (ko) 프로그래머블 표시기 및 제어 시스템
JP4678884B2 (ja) 可搬記憶媒体管理システム
JP2008072613A (ja) 管理システム,管理装置および管理方法
US20190102160A1 (en) Software management system, software updater, software updating method, and non-transitory computer-readable storage medium storing software update program
JP2003167606A (ja) プログラマブルコントローラまたはプログラマブル表示器およびそのユーザ認証方法
JP6260005B2 (ja) 機能設定方法
US20120310379A1 (en) Programmable controller
CN109522738B (zh) 数据储存装置
WO2020235172A1 (ja) 制御装置、データ不能化プログラム、および制御システム
WO2020195348A1 (ja) 制御システム、セキュリティ装置および方法
JP4454280B2 (ja) ライセンス認証方法およびライセンス認証システム
WO2022185583A1 (ja) 制御装置、ならびに制御装置の記憶部に保存されたデータの入出力を管理するプログラムおよび方法
JP5865878B2 (ja) プログラマブル表示器
JP2008234188A (ja) 情報処理装置
JP5304366B2 (ja) 記憶媒体ユニット,及び、記憶媒体自動消去システム
CN107994984B (zh) 一种密钥保护方法及装置
WO2022153566A1 (ja) 制御装置、管理方法およびセキュリティプログラム
JP2017162382A (ja) ストレージ制御装置、ストレージ装置、ストレージ制御方法及びプログラム
JP5895093B1 (ja) ナンバー復元システム並びに支援装置及び復元支援方法
DE102022108627A1 (de) Sicherheitshoheit über ein computergerät
WO2020058192A1 (en) Sensor data assembly and manufacturing device
WO2013061782A1 (ja) 外部ブートデバイス及び外部ブート方法
JP2006221409A (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: 20810722

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: 20810722

Country of ref document: EP

Kind code of ref document: A1