WO2020184036A1 - 制御システム、制御方法、および制御デバイス - Google Patents

制御システム、制御方法、および制御デバイス Download PDF

Info

Publication number
WO2020184036A1
WO2020184036A1 PCT/JP2020/005276 JP2020005276W WO2020184036A1 WO 2020184036 A1 WO2020184036 A1 WO 2020184036A1 JP 2020005276 W JP2020005276 W JP 2020005276W WO 2020184036 A1 WO2020184036 A1 WO 2020184036A1
Authority
WO
WIPO (PCT)
Prior art keywords
members
data
memory card
model
unit
Prior art date
Application number
PCT/JP2020/005276
Other languages
English (en)
French (fr)
Inventor
功 川合
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN202080017752.2A priority Critical patent/CN113518951A/zh
Priority to EP20769699.8A priority patent/EP3940470A4/en
Priority to US17/434,189 priority patent/US20220164464A1/en
Publication of WO2020184036A1 publication Critical patent/WO2020184036A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/14Plc safety
    • G05B2219/14006Safety, monitoring in general

Definitions

  • the present invention relates to a control system, a control method, and a control device, and more specifically, to a control system, a control method, and a control device that control access to data in a group of devices configured so that a plurality of devices can communicate with each other. ..
  • Machines and equipment used in many production sites are typically controlled by a control system that includes a control device such as a programmable logic controller (hereinafter also referred to as "PLC").
  • PLC programmable logic controller
  • the data stored in the detachable storage medium is used to restore the system or update the program or data.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2011-215814
  • PLC programmable controller
  • 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 enhancing security while ensuring user convenience regarding data access in a removable storage medium.
  • a control system for controlling data access in a device group configured so that a plurality of devices can communicate with each other.
  • the control system includes a first device that detachably accepts a storage medium included in the plurality of devices and stores data, and one or a plurality of second devices included in the plurality of devices.
  • Each member of the plurality of devices and storage media is held in the storage area for holding a list containing related information about each member and for the related information of each of the other members obtained from each of the other members. It has a collation means for collating the related information of each of the other members included in the list.
  • the first device enables access to the data stored in the storage medium when the collation result by the collation means of each member other than the first device satisfies a predetermined condition.
  • the storage medium when the storage medium is accepted by the first device, when the collation result of the related information executed by each of the other members other than the first device satisfies a predetermined condition. Since the access of the data stored in the storage medium becomes effective, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the data in the removable storage medium.
  • the first device has a reading unit including a concealed dedicated logic, and the storage medium is configured to be accessible only from the reading unit.
  • the storage medium can be accessed only from the reading unit including the concealed dedicated logic possessed by the first device, it is possible to further enhance the security regarding the access of data in the removable storage medium. it can.
  • the relevant information includes a serial number that individually identifies each member, and the collating means is held in storage for each of the other members' serial numbers obtained from each of the other members. Match the serial numbers of each of the other members in the list.
  • the access of the data stored in the storage medium becomes effective, so that the data in the removable storage medium is enabled. You can further increase the security of your access.
  • the relevant information includes the model of each member, and the collating means is included in the list held in the storage area for each model of the other member obtained from each of the other members. Match the model of each member of.
  • the access of the data stored in the storage medium becomes effective, so that the members having the same model but different serial numbers Even with the configuration, access to the data stored in the storage medium can be enabled, and it is possible to balance the improvement of security regarding data access in the removable storage medium with the improvement of user convenience. it can.
  • the control system includes a support device that supports the device group.
  • the relevant information includes a serial number that individually identifies each member and a model of each member, and the collating means holds the serial number of each other member obtained from each of the other members in the storage area.
  • the first collation means for collating the serial number of each of the other members included in the list and the model of each of the other members obtained from each of the other members.
  • It includes a second collation means for collating the type of each of the other members included.
  • the support device provides a user interface for selecting either matching by the first matching means or matching by the second matching means.
  • the system is required because the user can use the support device to choose between matching the serial number that identifies each member individually and matching the model of each member.
  • An appropriate system can be constructed according to the security level.
  • control system includes a support device that supports the device group.
  • the support device provides a user interface for setting the number of members to be collated by the collation means among the members other than the first device.
  • the user can set the number of members to be collated by using the support device, so that an appropriate system can be constructed according to the security level required for the system. ..
  • control system includes a support device that supports the device group.
  • the support device provides a user interface for setting the scope of members.
  • the user can set the applicable range of the members by using the support device, so that an appropriate system can be constructed according to the security level required for the system.
  • a control method for controlling data access in a device group configured so that a plurality of devices can communicate with each other.
  • the plurality of devices include a first device that detachably accepts a storage medium for storing data, and one or more second devices.
  • Each member of the plurality of devices and storage media has a storage area that holds a list containing relevant information about each member.
  • the control method is a step of causing each member to collate the related information of each of the other members acquired from each of the other members with the related information of each of the other members included in the list held in the storage area.
  • the first device includes a step of enabling access to the data stored in the storage medium when the collation result by each of the other members other than the first device satisfies a predetermined condition.
  • the storage medium when the storage medium is accepted by the first device, when the collation result of the related information executed by each of the other members other than the first device satisfies a predetermined condition. Since the access of the data stored in the storage medium becomes effective, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the data in the removable storage medium.
  • a control device in which a plurality of devices are included in a device group configured to be able to communicate with each other and control data access.
  • the control device includes a receiving unit that detachably accepts a storage medium for storing data.
  • Each member of the plurality of devices and storage media is held in the storage area for holding a list containing related information about each member and for the related information of each of the other members obtained from each of the other members. It has a collation means for collating the related information of each of the other members included in the list.
  • the control device enables access to the data stored in the storage medium when the collation result by the collation means of each member other than the control device satisfies a predetermined condition.
  • the storage medium when the storage medium is accepted by the first device, when the collation result of the related information executed by each of the other members other than the first device satisfies a predetermined condition. Since the access of the data stored in the storage medium becomes effective, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the data in the removable storage medium.
  • FIG. 1 is a schematic diagram showing an application example of the control system 1 according to the present embodiment.
  • the control system 1 includes a group of devices configured so that a plurality of devices can communicate with each other.
  • the “device” means a unit of a control element in the control system 1, and programs, configuration settings, parameters, etc. required for control calculation are generated and managed in the unit of the device.
  • the “device” may include a programmable controller (PLC), which is a processor that executes a control program (which may include sequence control and motion control), and a peripheral device connected to the PLC.
  • PLC programmable controller
  • the peripheral device is a device that exchanges input / output data handled by the PLC with a controlled object, and specific examples thereof include a unit, a slave device, and a coupler unit.
  • the control system 1 is a device as a device, a programmable controller (PLC) 100, and a plurality of units 200-1, 200-2, 200-3, 200-4 (hereinafter, communicably connected to the PLC 100). , Also collectively referred to as “unit 200”).
  • the PLC 100 is an example of a "first device”
  • the unit 200 is an example of a "second device”.
  • the "first device” and “second device” may be applied to any device such as a PLC, a unit, a slave device, and a coupler unit.
  • Unit 200-1 (Unit 1 in the figure) placed in slot 2 and unit 200-2 (Unit 2 in the figure) placed in slot 3 centered on the PLC100 placed in slot 1 (Slot 1 in the figure).
  • Unit 200-3 (Unit 3 in the figure) placed in slot 4
  • Unit 200-4 (Unit 4 in the figure) placed in slot 5 are communicably connected to the PLC 100 via the local bus 4. There is.
  • control system 1 includes a support device 400 that supports the device group.
  • the support device 400 develops and manages a control program and necessary parameters executed by each device constituting the control system 1.
  • the PLC 100 is provided with a USB (Universal Serial Bus) connector 105 for communicating with the support device 400, and the programs and setting parameters developed by the support device 400 can be obtained from the USB connector 105 to the PLC 100 via the network 2. And transferred (downloaded) to the unit 200.
  • USB Universal Serial Bus
  • the control system 1 having such a configuration is equipped with a function of recovering the system or updating a program or data by using the data stored in the removable storage medium.
  • the PLC 100 includes a memory card interface 103 that detachably accepts a memory card 300, and data can be acquired by accessing the memory card 300 mounted on the memory card interface 103.
  • the memory card interface 103 is an example of a “reception unit”.
  • a specific example is system backup / restore.
  • the user backs up the data by storing the data used in each device in the memory card 300 via the memory card interface 103.
  • the failed device is replaced with a new device, and the data backed up in the memory card 300 (hereinafter, also referred to as "backup data") is restored in the newly introduced device. To do.
  • Such processing is also referred to as "restoration”.
  • the backup data is typically used to solve problems such as the control system 1.
  • Examples of the memory card 300 which is an example of the "storage medium” include a removable memory card such as an SD (Secure Digital) card.
  • the "storage medium” may include any removable storage medium such as a USB memory, a compact flash (registered trademark), and a memory stick.
  • the "data” stored in the storage medium may include the backup data described above, programs and parameters used in the device, log data and trace data acquired by the device, and the like.
  • the removable memory card 300 may store backup data and the like, and may be accessed from a device such as the PLC 100 as needed.
  • a removable memory card 300 is convenient for the user because it can be carried around, but there is a risk that it will be stolen because it is removable, and there is an anxiety factor in terms of security.
  • access control may be performed on the memory card 300 by a predetermined host (device) such as individual authentication, but in the field of FA (factory automation), it is not always decided in actual use.
  • the memory card 300 is not always inserted into the host.
  • control system 1 in order to eliminate such a trade-off, a technique for enhancing security while ensuring user convenience regarding data access in the removable memory card 300 is provided. To do.
  • the control system 1 is configured to enable access by the specific device to the data in the memory card 300.
  • a plurality of devices such as the PLC 100 and units 200-1 to 200-4, and the memory card 300 are also collectively referred to as "members".
  • Each member has a storage area that holds a list containing relevant information about each member.
  • the "related information” may be any information as long as it identifies each member, and in the present embodiment, the model (Model in the figure) and the serial number (Serial in the figure) are used. Can include.
  • Model means a type that is distinguished from others by differences in structure, equipment, outer shape, etc. in each member.
  • a "serial number” is a number that individually identifies each member, for example, a unique serial number assigned to each of the products shipped may be applied. Normally, the serial number is uniquely assigned to each member, so there is no duplication of serial numbers among multiple different members. On the other hand, since the type is assigned to each member type, the type can be duplicated among a plurality of different members.
  • the PLC100 is assigned "A" as a model and "a” as a serial number.
  • Unit 200-1 is assigned “B” as a model and "b” as a serial number.
  • Unit 200-2 is assigned “B” as a model and “c” as a serial number.
  • Unit 200-3 is assigned “C” as a model and "d” as a serial number.
  • Unit 200-4 is assigned a model number of "C” and a serial number of "e”.
  • the PLC100 and units 200-1 to 200-4 are each assigned a unique serial number, whereas the unit 200-1 and the unit 200-2 are assigned the same model "B".
  • Unit 200-3 and unit 200-4 are assigned the same model number "C”.
  • the memory card 300 is assigned "X" as a model and "y” as a serial number.
  • the memory card 300 holds the list 300L
  • the PLC 100 holds the list 100L
  • the units 200-1 to 200-4 hold the lists 200-1L to 200-4L, respectively.
  • Each list is created by support device 400 and transferred to each device. Then, the list is also held in the memory card 300 via the support device 400 or the PLC 100.
  • the contents of the list 300L held by the memory card 300 are shown.
  • the model (Model) and serial number (Serial) assigned to each slot (Slot) 1 to 5 are stored in the list 300L, and the model (Model) and serial number (Serial) of the memory card 300 are also stored. It is stored.
  • the memory card 300 can grasp each member currently configured on the system by referring to the list 300L.
  • the contents of the list 300L shown in FIG. 1 include the contents of the list 100L held by the PLC 100 and the contents of the lists 200-1L to 200-4L held by each of the units 200-1 to 200-4. It is the same.
  • each member is configured to collate the related information of each of the other members included in the list held by the member with the related information of the other member obtained from each of the other members. ..
  • the memory card 300 has a model and serial number of another member (PLC100, unit 200) included in the list held by the memory card 300, and a model and serial number acquired from another member (PLC100, unit 200). By collating with, it is determined whether or not the related information matches for the other members (PLC100, unit 200).
  • the PLC100 has a model and serial number of another member (memory card 300, unit 200) included in the list held by itself, and a model and serial number obtained from another member (memory card 300, unit 200). By collating with, it is determined whether or not the related information of the other members (memory card 300, unit 200) matches.
  • each unit 200 has the model and serial number of other members (memory card 300, PLC100, other unit 200) included in the list held by itself, and other members (memory card 300, PLC100, other). By collating with the model and serial number acquired from the unit 200), it is determined whether or not the related information for the other members (memory card 300, PLC100, other unit 200) matches.
  • the PLC 100 enables access to the data stored in the memory card 300 when the memory card 300 is inserted and the result of the collation by each member described above satisfies a predetermined condition.
  • the "predetermined condition" may be any condition as long as it can enable access to the data stored in the memory card 300.
  • members other than the PLC 100 collate each member currently configured on the system based on the list held by the memory card 300. If the degree of matching of the collation results among the members exceeds a certain value, the access by the PLC 100 to the data in the memory card 300 becomes effective.
  • the control system 1 when the memory card 300 is accepted by the PLC 100, the related information executed by each of the members (memory card 300, unit 200) other than the PLC 100 is executed.
  • the collation result of the above satisfies a predetermined condition, the access of the data stored in the memory card 300 becomes effective. Therefore, the security is ensured while ensuring the convenience of the user regarding the access of the data in the removable memory card 300. Can be enhanced.
  • FIG. 2 is a schematic view showing a hardware configuration example of the PLC 100 and a configuration example of the memory card 300 according to the present embodiment.
  • the PLC 100 includes a processor 102, a main memory 104, a storage 106, a network controller 108, and a memory card interface 113. These components are connected via the processor bus 130.
  • the processor 102 is a calculation unit that executes control calculations and the like, and is composed of, for example, a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). Specifically, the processor 102 reads out the programs (for example, the control program 140, the system program 1060, and the restore program 1065) stored in the storage 106, expands them in the main memory 104, and executes them. Achieve a given control.
  • the programs for example, the control program 140, the system program 1060, and the restore program 1065
  • FIG. 2 a configuration example is shown in which the functions required as the PLC 100 are provided by the processor 102 executing a predetermined program, but some or all of these provided functions are provided by dedicated hardware. It may be implemented using a hardware circuit (eg, ASIC or FPGA).
  • a hardware circuit eg, ASIC or FPGA.
  • the main memory 104 is composed of, for example, a volatile storage device such as a DRAM (Dynamic Random Access Memory) or a SRAM (Static Random Access Memory).
  • the storage 106 is composed of, for example, a non-volatile storage device such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive).
  • the control program 140 created according to the control target such as equipment and machines, and the restore program 1065 for restoring the PLC 100 are provided. It is stored.
  • the network controller 108 exchanges data with and from any information processing device including the support device 400 via the network 2.
  • the memory card interface 113 is an interface dedicated to the memory card 300, which is an example of a removable recording medium.
  • the memory card interface 113 can write data to the memory card 300 and read various data (backup data, etc.) from the memory card 300 by receiving a predetermined access authentication.
  • a security unit 1130 is mounted on the memory card interface 113.
  • the security unit 1130 is a security chip that permits or prohibits access to the memory card 300 from the processor 102, and is an example of a “reading unit” that includes a concealed dedicated logic.
  • the memory card 300 according to the present embodiment is a memory card that is secure with respect to data access, and is configured to be accessible only from the security unit 1130. As a result, security can be enhanced with respect to data access in the memory card 300.
  • the security unit 1130 includes a processor 1131, a storage 1132, a memory 1133, an IO module 1134, an IO module 1135, and a memory card controller 1136.
  • the processor 1131 is a calculation unit that executes control calculations and the like, and is composed of, for example, an MPU (Micro Processing Unit).
  • the processor 1131 realizes a predetermined control by reading a program (as an example, a read program 1150) stored in the storage 1132, expanding it in the memory 1133, and executing the program.
  • FIG. 2 a configuration example is shown in which the functions required as the security unit 1130 are provided by the processor 1131 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 memory 1133 is composed of, for example, a volatile storage device such as a DRAM or SRAM.
  • the storage 1132 is composed of, for example, a non-volatile storage device such as a flash memory, and is an example of a “storage area” in the PLC 100.
  • the storage 1132 stores the read program 1150, the user data 1160, the certificate data 1170, the identification data 1180, and the list 100L.
  • the reading program 1150 determines whether or not to enable access to the data 1335 of the memory card 300 when an access command for the data 1335 such as backup data included in the memory card 300 is output from the processor 102. , Includes a program for executing access authentication processing such as enabling access if the determination result is positive and prohibiting access if the determination result is negative.
  • the user data 1160 includes information (for example, an account name and a password) for identifying a user in the control system 1.
  • the certificate data 1170 includes information for proving that the PLC 100 is valid for the control system 1.
  • certificate data 1170 includes information on a certificate issued when the manufacturer certifies that the product is legitimate.
  • the certificate data 1170 is not limited to the manufacturer, and may include the information of the certificate issued when the user or a third party external organization authenticates.
  • the identification data 1180 includes related information such as the model and serial number of the PLC100.
  • Listing 100L contains relevant information about each member, as described above.
  • the IO module 1134 exchanges input / output data between the processor 1131 and the processor 102 via the processor bus 130.
  • the IO module 1135 exchanges input / output data between the processor 1131 and the memory card 300 via the memory card controller 1136.
  • the memory card controller 1136 enables the communication path with the memory card 300 when the access from the processor 102 to the memory card 300 is enabled based on the above-mentioned access authentication process.
  • the memory card 300 includes a data area 1331, a secure area 1332, and a security controller 1336.
  • the data area 1331 is a storage area for storing data 1335 such as backup data.
  • the data 1335 may be stored in the data area 1331 after being encrypted using a key such as a public key.
  • the secure area 1332 is a concealed storage area that requires authentication for access, and is an example of a "storage area" in the memory card 300.
  • User data 1360, certificate data 1370, identification data 1380, and list 300L are stored in the secure area 1332.
  • the user data 1360 includes information (for example, an account name and a password) for identifying a user in the control system 1.
  • the certificate data 1370 includes information for proving that the memory card 300 is valid for the control system 1.
  • the certificate data 1370 includes information on a certificate issued when the manufacturer certifies that the product is legitimate.
  • the certificate data 3170 may include not only the manufacturer but also the information of the certificate issued when the user or a third party external organization authenticates.
  • the identification data 1380 includes related information such as the model and serial number of the memory card 300.
  • Listing 300L contains relevant information about each member, as described above.
  • the security controller 1336 enables the communication path between the security unit 1130 and the data area 1331 when the access to the data 1335 from the processor 102 is enabled based on the above-mentioned access authentication process.
  • the memory card 300 according to the present embodiment is configured to be accessible only from the security unit 1130 of the PLC 100 including a concealed dedicated logic, but tentatively, another read that can access the memory card 300. Even if there is an apparatus, it is configured so that the data 1335 stored in the data area 1331 of the memory card 300 cannot be accessed from the outside unless the authentication based on the above-mentioned access authentication process is possible.
  • FIG. 3 is a schematic view showing a hardware configuration example of the unit 200 according to the present embodiment.
  • the unit 200 includes a functional module 210, a local bus controller 220, and a security unit 2130.
  • the function module 210 provides functions according to the responsibilities of each unit 200.
  • the functional module 210 has a digital signal input circuit and a detection circuit such as a photocoupler.
  • the functional module 210 has trajectory calculation logic, command generation logic, and the like.
  • the local bus controller 220 exchanges data with the connected PLC 100 or another unit 200 via the local bus 4.
  • the security unit 2130 is a security chip for executing the above-mentioned access authentication process, and communicates with each other between the function module 210 and the local bus controller 220.
  • the security unit 2130 includes a processor 2161, storage 2162, and memory 2163.
  • the processor 2161 is a calculation unit that executes control calculations and the like, and is composed of, for example, an MPU.
  • the processor 2161 realizes a predetermined control by reading a program (for example, a restore program 2150) stored in the storage 2162, expanding the program into the memory 2163, and executing the program.
  • a program for example, a restore program 2150
  • FIG. 3 a configuration example is shown in which the functions required as the unit 200 are provided by the processor 2161 executing a predetermined program, but some or all of these provided functions are dedicated. It may be implemented using a hardware circuit (eg, ASIC or FPGA).
  • the memory 2163 is composed of, for example, a volatile storage device such as a DRAM or SRAM.
  • the storage 2162 is composed of, for example, a non-volatile storage device such as a flash memory, and is an example of a “storage area” in the unit 200.
  • the storage 2162 stores the restore program 2150, the user data 2160, the certificate data 2170, the identification data 2180, and the list 200L.
  • the restore program 2150 includes a program for restoring the unit 200.
  • the user data 2160 includes information (for example, an account name and a password) for identifying a user in the control system 1.
  • the certificate data 2170 contains information for proving that the unit 200 is legitimate for the control system 1.
  • certificate data 2170 includes information on a certificate issued when the manufacturer certifies that the product is legitimate.
  • the certificate data 2170 is not limited to the manufacturer, and may include the information of the certificate issued when the user or a third party external organization authenticates.
  • FIG. 4 is a schematic view showing a hardware configuration example of the support device 400 according to the present embodiment.
  • the support device 400 is realized by executing a program by a computer that follows a general-purpose architecture.
  • the support device 400 includes a processor 402, a main memory 404, a storage 406, an input unit 408, a display unit 410, an optical drive 412, and a network controller 416. These components are communicably connected to each other via the processor bus 418.
  • the processor 402 is composed of a CPU, a GPU, or the like, and realizes various processes by reading a program (OS 4060 and support program 4062, for example) stored in the storage 406, expanding the program in the main memory 404, and executing the program. ..
  • FIG. 4 a configuration example is shown in which the functions required as the support device 400 are provided by the processor 402 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 main memory 404 is composed of a volatile storage device such as DRAM or SRAM.
  • the storage 406 is composed of, for example, a non-volatile storage device such as an HDD or SSD.
  • the support program 4062 for providing the functions as the support device 400 is stored.
  • the support program 4062 causes the computer to function as the support device 400.
  • the input unit 408 is composed of a keyboard, a mouse, and the like, and accepts user operations.
  • the display unit 410 is composed of a display, various indicators, a printer, and the like, and outputs a processing result from the processor 402 and the like.
  • the network controller 416 exchanges data with an arbitrary external device such as the PLC100 via the network 2.
  • the support device 400 has an optical drive 412, and is stored in a recording medium 414 (for example, an optical recording medium such as a DVD (Digital Versatile Disc)) that temporarily stores a computer-readable program.
  • a recording medium 414 for example, an optical recording medium such as a DVD (Digital Versatile Disc)
  • the stored program is read and installed in storage 406 or the like.
  • the support program 4062 or the like executed by the support device 400 may be installed via a computer-readable recording medium 414, or may be installed by downloading from a server device or the like on the network. Further, the function provided by the support device 400 according to the present embodiment may be realized by using a part of the module provided by the OS.
  • serial verification A verification using a serial number (hereinafter, also referred to as “serial verification”) in the access authentication process will be described with reference to FIGS. 5 to 7.
  • FIG. 5 is a schematic diagram showing an example of serial verification when data is legitimately accessed in the control system 1 according to the present embodiment.
  • FIG. 6 is a schematic diagram showing a determination example of serial collation in the control system 1 according to the present embodiment.
  • the PLC100 in slot 1 is assigned "A" as a model and "a” as a serial number.
  • Unit 200-1 in slot 2 is assigned a model number of "B” and a serial number of "b”.
  • the unit 200-2 in slot 3 is assigned “B” as a model and "c” as a serial number.
  • Unit 200-3 in slot 4 is assigned a model number of "C” and a serial number of "d”.
  • Unit 200-4 in slot 5 is assigned a model number of "C” and a serial number of "e”.
  • the backup data of the PLC 100 is stored in the memory card 300.
  • the access authentication process serial authentication
  • the memory card 300 When the memory card 300 is inserted into the PLC 100a in order to restore the backup data of the PLC 100, the access authentication process (serial authentication) by the memory card 300, the PLC 100a, and the units 200-1 to 200-4 is executed.
  • the list 300L of the memory card 300 the list 200-1L of the unit 200-1, the list 200-2L of the unit 200-2, the list 200-3L of the unit 200-3, and the list 200-4L of the unit 200-4.
  • the contents of the list are the same. Since the PLC100a is newly introduced, the content of the list 100aL is empty (blank).
  • the memory card 300 acquires the serial number "f" as identification data from the PLC 100a of the slot 1 and collates it with the serial number "a” corresponding to the slot 1 stored in its own list 300L, the two do not match. to decide. Further, the memory card 300 acquires serial numbers "b”, “c”, “d”, and “e” as identification data from each unit 200 of slots 2 to 5, and stores them in its own list 300L. When the serial numbers "b”, “c”, “d”, and “e” corresponding to slots 2 to 5 are collated, it is determined that they match. That is, as a result of the verification by the memory card 300, it is determined that only the serial number of the slot 1 is different.
  • bit "0” is set if the collation results match, and bit “1” is set if the collation results do not match. Then, based on the collation result, bit “1” is set only in slot 1, and bit “0” is set for the remaining members.
  • the PLC 100a acquires the serial number "y" as identification data from the memory card 300 and collates it with the serial number corresponding to the memory card stored in its own list 100aL, the content of the list 100aL is empty (blank). Therefore, it is judged that the two do not match. Further, the PLC 100a acquires the serial numbers "b", "c", “d”, and "e” as identification data from each unit 200 of the slots 2 to 5, and stores the serial numbers 2 in its own list 100aL. When collated with the serial numbers corresponding to the slots 5, it is determined that the contents of the list 100aL are blank because they do not match. That is, as a result of the collation by the PLC 100a, it is determined that the serial numbers are different in the memory card 300 and the slots 2 to 5.
  • the PLC100a in slot 1 sets bit “0” if the matching results match in the table held by itself, and sets bit “1” if the matching results do not match. If it is set, bit "1" is set for the memory card 300 and slots 2 to 5 based on the collation result.
  • Each of the units 200-1 to 200-4 acquires the serial number "y" as identification data from the memory card 300, and corresponds to the memory card stored in each of its own lists 200-1L to 200-4L. When collated with the serial number "y”, it is determined that both match. Further, each of the units 200-1 to 200-4 acquires the serial number "f" as identification data from the PLC 100a, and corresponds to the slot 1 stored in each of its own lists 200-1L to 200-4L. When collated with the serial number "a”, it is determined that the two do not match. Further, when each of the units 200 acquires a serial number as identification data from another unit 200 other than itself and collates it with the serial number corresponding to the other unit 200 stored in its own list, both match. to decide. That is, as a result of collation by each of the units 200-1 to 200-4, it is determined that only the serial number of the slot 1 is different.
  • each unit 200 of slots 2 to 5 sets bit “0” if the collation results match in the table held by itself, and if the collation results do not match, the bits “0” are set. If the bit “1” is set, the bit “1” is set only in slot 1 and the bit “0” is set for the remaining members based on the collation result.
  • the collation result obtained by each member is transmitted to other members, so that the table as shown in FIG. 6 is shared among all the members. Then, one of the members (for example, the member who collects the collation results of each member earliest) determines whether or not the collation result satisfies a predetermined condition. Specifically, as shown in FIG. 6, the bits set by each member are added, and then the addition result is divided by the number of members to calculate the average value (%). Then, based on the calculated average value of each member, it is determined whether or not there are more than 50% of the members. In this example, only slot 1 exceeds 50%.
  • the degree of matching of the collation results is low. It is determined that the data access is NG.
  • the number of members exceeding 50% is less than 3, that is, when the number of members determined to be changed by the members exceeding 50% is less than 3, it is determined as OK.
  • the memory card 300 enables the access of the backup data by the PLC 100a.
  • FIG. 7 is a schematic diagram showing an example of serial collation when data is illegally accessed in the control system 1 according to the present embodiment.
  • the PLC100 in slot 1 is assigned "A" as a model and "a” as a serial number.
  • Unit 200-1 in slot 2 is assigned a model number of "B” and a serial number of "b”.
  • the unit 200-2 in slot 3 is assigned “B” as a model and "c” as a serial number.
  • Unit 200-3 in slot 4 is assigned a model number of "C” and a serial number of "d”.
  • Unit 200-4 in slot 5 is assigned a model number of "C” and a serial number of "e”.
  • the backup data of the PLC 100 is stored in the memory card 300.
  • the memory card 300 is stolen and the data is restored in the control system 1x having the illegally constructed line.
  • the PLC 100x in slot 1 and the units 200x-1 to 200x-4 in slots 2 to 5 are configured to be communicable via the local bus 4x.
  • the PLC100x in slot 1 is assigned an "A" as a model and an "o” as a serial number.
  • the unit 200x-1 in slot 2 is assigned “B” as a model and “p” as a serial number.
  • the unit 200x-2 in slot 3 is assigned “B” as a model and "q” as a serial number.
  • the unit 200x-3 in slot 4 is assigned “C” as a model and "r” as a serial number.
  • the unit 200x-4 in slot 5 is assigned a model number of "C” and a serial number of "s".
  • the access authentication processing is not executed unless the access authentication processing program is provided, and the data in the memory card 300 by the PLC100x is not executed. Access is not enabled. This makes it possible to prevent data from leaking to the outside.
  • access authentication processing serial authentication
  • PLC100x PLC100x
  • units 200x-1 to 200x-4 is executed.
  • the memory card 300 acquires the serial number "o" as identification data from the PLC 100x of the slot 1 and collates it with the serial number "a” corresponding to the slot 1 stored in its own list 300L, both match. Judge not to. Further, the memory card 300 acquires serial numbers "p”, “q”, “r”, and “s” as identification data from each unit 200x of slots 2 to 5, and stores them in its own list 300L. When the serial numbers "b”, “c”, “d”, and “e” corresponding to slots 2 to 5 are collated, it is determined that they do not match. That is, as a result of collation with the memory card 300, it is determined that the serial numbers do not match in all of slots 1 to 5.
  • the serial number of each member stored in the list 300L of the memory card 300 is collated with the serial number of each member obtained from each member, and the matching members are matched.
  • the number does not exceed a certain number (for example, 3), it is judged that the degree of matching is low.
  • a certain number for example, 3
  • the memory card 300 since the degree of matching of the collation results using the serial number is low, the memory card 300 does not enable the access of the backup data by the PLC 100x and prohibits the restoration.
  • model collation An example of model matching> With reference to FIGS. 8 to 10, collation using a model in the access authentication process (hereinafter, also referred to as “model collation”) will be described.
  • FIG. 8 is a schematic diagram showing an example of model collation when data is legitimately accessed in the control system 1 according to the present embodiment.
  • FIG. 9 is a schematic diagram showing a determination example of model matching in the control system 1 according to the present embodiment.
  • the PLC100 in slot 1 is assigned "A" as a model and "a” as a serial number.
  • Unit 200-1 in slot 2 is assigned a model number of "B” and a serial number of "b”.
  • the unit 200-2 in slot 3 is assigned “B” as a model and "c” as a serial number.
  • Unit 200-3 in slot 4 is assigned a model number of "C” and a serial number of "d”.
  • Unit 200-4 in slot 5 is assigned a model number of "C” and a serial number of "e”.
  • the backup data of the PLC 100 is stored in the memory card 300.
  • control system 1b is constructed by copying a line having the same configuration as the control system 1.
  • the PLC 100b in slot 1 and the units 200b-1 to 200b-4 in slots 2 to 5 are configured to be communicable via the local bus 4b.
  • the PLC100b in slot 1 is assigned "A” as a model and "g” as a serial number.
  • the unit 200b-1 in slot 2 is assigned “B” as a model and “h” as a serial number.
  • the unit 200b-2 in slot 3 is assigned “B” as a model and "i” as a serial number.
  • the unit 200b-3 in slot 4 is assigned “C” as a model and "j” as a serial number.
  • the unit 200b-4 in slot 5 is assigned a model number of "C” and a serial number of "k”.
  • the access authentication process (model authentication) by the memory card 300, the PLC100b, and the units 200b-1 to 200b-4 is executed.
  • the list 300L of the memory card 300 the list 200b-1L of the unit 200b-1, the list 200b-2L of the unit 200b-2, the list 200b-3L of the unit 200b-3, and the list 200b-4L of the unit 200b-4.
  • the contents of the list are the same.
  • the memory card 300 When the memory card 300 acquires the model "A" as identification data from the PLC 100b of the slot 1 and collates it with the model "A" corresponding to the slot 1 stored in its own list 300L, it is determined that the two match. Further, the memory card 300 acquires the models "B", “B”, “C”, and “C” as identification data from each unit 200 of slots 2 to 5, and stores the slots in its own list 300L. When collated with the models "B”, “B”, “C”, and “C” corresponding to slots 2 to 5, it is determined that they match. That is, as a result of collation with the memory card 300, it is determined that the models match in all of slots 1 to 5.
  • bit "0” is set if the collation results match, and bit “1” is set if the collation results do not match. Then, based on the collation result, the bit "0" is set in slots 1 to 5.
  • the PLC 100b acquires the model "X" as identification data from the memory card 300 and collates it with the model "X" corresponding to the memory card stored in its own list 100bL, it is determined that the two match. Further, the PLC 100b acquires the models "B", “B”, “C”, and “C” as identification data from the units 200b of the slots 2 to 5, and stores the models 2 to 100bL in its own list 100bL. When collated with the models "B”, “B”, “C”, and “C” corresponding to slot 5, it is determined that they match. That is, as a result of collation by PLC100b, it is determined that the models match in all of slots 1 to 5.
  • the PLC100b in slot 1 sets bit “0” if the matching results match in the table it holds, and sets bit “1” if the matching results do not match. If it is set, the bit "0" is set for the memory card 300 and the slots 2 to 5 based on the collation result.
  • Each of the units 200b-1 to 200b-4 acquires the model "X" as identification data from the memory card 300, and the model corresponding to the memory card stored in each of its own lists 200b-1L to 200b-4L. When collated with "X”, it is determined that both match. Further, each of the units 200b-1 to 200b-4 acquires the model "A" as identification data from the PLC100b, and the model corresponding to the slot 1 stored in each of its own lists 200b-1L to 200b-4L. When collated with "A”, it is determined that both match. Further, when each of the units 200b acquires a model as identification data from another unit 200b other than itself and collates it with a model corresponding to the other unit 200b stored in its own list, it is determined that they match. .. That is, as a result of collation by each of the units 200b-1 to 200b-4, it is determined that the models match in all of slots 1 to 5.
  • each unit 200b of slots 2 to 5 sets bit “0” if the collation results match in the table held by itself, and if the collation results do not match, the bits “0” are set. If the bit “1” is set, the bit “0” is set for each member based on the collation result.
  • the memory card 300 enables the access of the backup data by the PLC 100b and permits the restoration.
  • the collation result obtained by each member is transmitted to other members, so that the table as shown in FIG. 9 is shared among all the members. Then, one of the members (for example, the member who collects the collation results of each member earliest) determines whether or not the collation result satisfies a predetermined condition. Specifically, as shown in FIG. 9, the bits set by each member are added, and then the addition result is divided by the number of members to calculate the average value (%). Then, based on the calculated average value of each member, it is determined whether or not there are more than 50% of the members. In this example, it does not exceed 50% for all members.
  • the degree of matching of the collation results is low. It is determined that the data access is NG.
  • the number of members exceeding 50% is less than 3, that is, when the number of members determined to be changed by the members exceeding 50% is less than 3, it is determined as OK.
  • the memory card 300 enables the access of the backup data by the PLC 100a.
  • serial numbers unique to the devices are not used as in the examples of FIGS. 8 and 9, but the serial numbers are used for collation, even if the members have the same model but different serial numbers.
  • the access of the backup data stored in the memory card 300 can be enabled, and the security of the data access in the memory card 300 can be improved and the convenience of the user can be balanced.
  • FIG. 10 is a schematic diagram showing an example of model collation when data is illegally accessed in the control system 1 according to the present embodiment.
  • the PLC100 in slot 1 is assigned "A" as a model and "a” as a serial number.
  • Unit 200-1 in slot 2 is assigned a model number of "B” and a serial number of "b”.
  • the unit 200-2 in slot 3 is assigned “B” as a model and "c” as a serial number.
  • Unit 200-3 in slot 4 is assigned a model number of "C” and a serial number of "d”.
  • Unit 200-4 in slot 5 is assigned a model number of "C” and a serial number of "e”.
  • the backup data of the PLC 100 is stored in the memory card 300.
  • the memory card 300 is stolen and the data is restored in the control system 1y having the illegally constructed line.
  • the PLC100y in slot 1 and the units 200y-1 to 200y-3 in slots 2 to 5 are configured to be communicable via the local bus 4y.
  • the PLC100y in slot 1 is assigned “D” as a model and "k” as a serial number.
  • the unit 200y-1 in slot 2 is assigned an “E” as a model and an “l” as a serial number.
  • the unit 200y-2 in slot 3 is assigned an “E” as a model and an “m” as a serial number.
  • the unit 200y-3 in slot 4 is assigned "F” as a model and "n” as a serial number. There is no unit in slot 5.
  • the access authentication processing is not executed unless the access authentication processing program is provided, and the data in the memory card 300 by the PLC100y is not executed. Access is not enabled. This makes it possible to prevent data from leaking to the outside.
  • access authentication processing (model authentication) by the memory card 300, PLC100y, and units 200y-1 to 200y-3 is executed.
  • the memory card 300 acquires the model "D" as identification data from the PLC100y of the slot 1 and collates it with the model "A" corresponding to the slot 1 stored in its own list 300L, the two must match. to decide. Further, the memory card 300 acquires the models "E”, “E”, and “F” as identification data from each unit 200y of slots 2 to 4, and stores the models 2 to 4 in its own list 300L. When collated with the models "B", “B”, and “C” corresponding to, it is determined that they do not match. Further, since the memory card 300 cannot acquire the identification data from the slot 5, it cannot be collated with the model "C" corresponding to the slot 5 stored in its own list 300L, and it is determined that the two do not match. That is, as a result of collation with the memory card 300, it is determined that the models do not match in all of slots 1 to 5.
  • the number of matching members is determined by collating the model of each member stored in the list 300L of the memory card 300 with the model of each member acquired from each member.
  • a certain number for example, 3
  • the memory card 300 since the degree of matching of the collation results using the model is low, the memory card 300 does not enable the access of the backup data by the PLC 100y and prohibits the restoration.
  • FIG. 11 is a schematic view showing an example of a setting screen in the support device 400 according to the present embodiment. As shown in FIG. 11, the support device 400 provides the user with a user interface for making various settings related to the access authentication process.
  • a user information field 451 for setting user information for setting user information
  • a user authentication method field 452 for setting a user authentication method for setting a user authentication method
  • a password field for setting a password are displayed.
  • a collation method column 454 for setting a collation method for setting a collation method
  • a security strength column 455 for setting a security strength for setting a security strength
  • an application range column 456 for setting an application range are included.
  • the user can set a desired account name as user information by inputting a desired account name in the user information field 451.
  • the user can select a desired user authentication method in the user authentication method field 452.
  • face authentication, biometric authentication (for example, fingerprint authentication) and the like can be selected in addition to password authentication.
  • password authentication the user can enter a desired password in the password field 453.
  • the user can select a desired collation method in the collation method column 454.
  • the user can choose the serial matching or model matching described above.
  • the support device 400 according to the present embodiment provides a user interface for selecting either serial matching or model matching.
  • the user can use the support device 400 to select either the serial number matching that individually identifies each member or the model matching of each member, so that the security level required for the system is required.
  • An appropriate system can be constructed according to the above.
  • the support device 400 is not limited to the option for performing either model matching or serial matching, and may provide the user with an option for performing both model matching and serial matching. That is, the control system 1 according to the present embodiment may determine whether to allow or prohibit access to the data of the memory card 300 by the device by executing both model matching and serial matching.
  • the user can set the security strength in the control system 1 in the security strength column 455. Specifically, the user can set the number of devices that perform serial matching or model matching in the access authentication process from each device. In consideration of security, it is better to perform matching on all devices, but it is better to reduce the number of matching devices in order to avoid the omission of processing time and the complexity of processing. In this embodiment, the number obtained by subtracting 1 from the number of all devices is recommended.
  • the support device 400 according to the present embodiment provides a user interface for setting the number of members to be collated.
  • the user can set the number of members to be collated by using the support device 400, so that an appropriate system can be constructed according to the security level required for the system.
  • the user can set the applicable range of the member who executes serial verification or model matching in the access authentication process in the applicable range column 456.
  • the user can cover the PLC 100 and a device connected to the PLC 100 via the local bus 4, and in addition, the network 2 and the support device 400. Tools such as are also applicable.
  • the support device 400 according to the present embodiment provides a user interface for setting the applicable range of the member.
  • the user can set the applicable range of the members by using the support device 400, so that an appropriate system can be constructed according to the security level required for the system.
  • FIG. 12 is a sequence diagram showing an example of access authentication processing by serial verification executed in the control system 1 according to the present embodiment. Note that FIG. 12 illustrates the access authentication process (serial verification) in the examples of FIGS. 5 and 6. That is, the restoration after the PLC100 having the serial number "a" is replaced with the PLC100a having the serial number "f" in slot 1 will be illustrated.
  • the memory card 300 when the memory card 300 is inserted into the PLC 100a of the slot 1 and a predetermined switch is operated, the user is required to input user data on the screen of the support device 400.
  • the support device 400 When the user inputs, for example, user information (for example, an account name) and a password as user data, as shown in FIG. 12, the support device 400 includes a memory card 300, PLC100a in slot 1, and slots 2 to 5.
  • User data is transmitted to each unit 200 of (steps (1), (2), (3)).
  • the PLC 100a in slot 1 collates the user data 1160 held by itself with the user data acquired from the support device 400, and if both match, the certificate data 1170 held by itself is stored in slots 2 to 5 respectively. It is transmitted to the unit 200 (step (4)). Note that the PLC100a in slot 1 does not transmit the certificate data 1170 unless the user data can be authenticated.
  • each unit 200 of slots 2 to 5 determines that the PLC100a is a legitimate product by the manufacturer based on the certificate data 1170, it transmits the authentication data indicating that the PLC100a has been authenticated to the PLC100a (step (5). )). Note that each unit 200 in slots 2 to 5 does not transmit authentication data to the PLC 100a unless it can be determined that the PLC 100a is a legitimate product by the manufacturer.
  • each unit 200 of slots 2 to 5 collates the user data 2160 held by itself with the user data acquired from the support device 400, and if both match, the certificate data 2170 held by itself is obtained. It is transmitted to PLC100a of slot 1 (step (6)). Note that each unit 200 in slots 2 to 5 does not transmit the certificate data 2170 unless the user data can be authenticated.
  • the memory card 300 collates the user data 1360 held by itself with the user data acquired from the support device 400, and if both match, the certificate data 1370 held by itself is transmitted to the PLC 100a in slot 1. (Step (7)).
  • the memory card 300 does not transmit the certificate data 1370 unless the user data can be authenticated.
  • the PLC100a in slot 1 determines that each unit 200 in slots 2 to 5 is a legitimate product by the manufacturer based on the certificate data 2170, and provides authentication data to the effect that each unit 200 is authenticated. (Step (8)). Note that the PLC100a in slot 1 does not transmit authentication data unless it can be determined that each unit 200 in slots 2 to 5 is a legitimate product by the manufacturer.
  • the PLC 100a in slot 1 determines that the memory card 300 is a legitimate product by the manufacturer based on the certificate data 1370, it transmits the authentication data indicating that the memory card 300 has been authenticated to the memory card 300 (step (step (step)). 9)). Note that the PLC100a in slot 1 does not transmit authentication data unless it can be determined that the memory card 300 is a legitimate product by the manufacturer.
  • each unit 200 of slots 2 to 5 authenticates the PLC100a of slot 1
  • the PLC100a of slot 1 authenticates each unit 200 of slots 2 to 5
  • the slot 1 Authentication of the memory card 300 by the PLC 100a is completed.
  • the PLC100a in slot 1 transmits the identification data 1180 (serial number “f”) held by itself to each unit 200 in slots 2 to 5 for serial verification (step (10)). Further, the PLC 100a in slot 1 transmits the identification data 1180 (serial number “f”) held by itself to the memory card 300 for serial verification (step (11)).
  • each unit 200 of slots 2 to 5 uses the memory card 300 to store the identification data 2180 (serial numbers “b", “c", “d”, “e") that it holds for serial verification. (Step (12)). Further, the memory card 300 transmits the identification data 1380 (serial number “y”) held by the memory card 300 to each unit 200 of slots 2 to 5 for serial verification (step (13)). Further, each unit 200 of slots 2 to 5 transmits the identification data 2180 held by itself to the other units 200 for serial verification (step (14)).
  • the memory card 300, the PLC100a in slot 1, and the units 200 in slots 2 to 5 acquire the identification data (serial number) of each member.
  • the memory card 300, the PLC100a in slot 1, and the units 200 in slots 2 to 5 each have the identification data (serial number) acquired from each member and the serial number of each member stored in the list held by themselves. (Step (15)).
  • one member of the members has a high degree of matching of the collation results using the serial number. If it is determined, the memory card 300 enables the access of the backup data by the PLC 100a and transmits the backup data to the PLC 100a in the slot 1 (step (16)).
  • each member updates the list held by himself / herself based on the identification data (serial number) acquired from other members (step (17)). As a result, the list held by each member is updated to the latest contents.
  • the PLC100a in slot 1 executes a restore based on the backup data acquired from the memory card 300 (step (18)).
  • the backup data when it is determined that the degree of matching of the model matching results is high, the backup data is transmitted from the memory card 300 to the PLC100a in slot 1, but the present invention is not limited to this, and the PLC100a and the memory After the mutual authentication by the card 300 and each unit 200 is completed, the backup data may be transmitted from the memory card 300 to the PLC 100a in slot 1. In this case, unless it is determined that the degree of matching of the model matching results is high, the execution of restoration by the PLC 100a in slot 1 may be prohibited.
  • the memory card 300 when the memory card 300 is accepted by the PLC 100a, the memory is stored when the matching result of the serial numbers executed by each of the members other than the PLC 100a has a high degree of matching between the members. Since the access of the backup data stored in the card 300 becomes effective, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the backup data in the removable memory card 300.
  • the memory card 300 is not permitted by the access authentication process (serial verification) as described above. Since the data of the 300 cannot be accessed from the device, it is possible to prevent the memory card 300 from being erroneously inserted.
  • FIG. 13 is a sequence diagram showing an example of access authentication processing by model matching executed in the control system 1 according to the present embodiment. Note that FIG. 13 illustrates the access authentication process (model matching) in the examples of FIGS. 8 and 9. That is, a restore after copying a line having the same configuration as the control system 1 will be illustrated.
  • the memory card 300 when the memory card 300 is inserted into the PLC 100b of slot 1 and a predetermined switch is operated, the user is required to input user data on the screen of the support device 400.
  • the support device 400 transmits the user data to the memory card 300 as shown in FIG. 13 (step (1)). ..
  • the memory card 300 collates the user data 1360 held by itself with the user data acquired from the support device 400, and if both match, transmits the certificate data 1370 held by itself to the PLC 100b in slot 1 ( Step (2)). The memory card 300 does not transmit the certificate data 1370 unless the user data can be authenticated.
  • the PLC 100b in slot 1 determines that the memory card 300 is a legitimate product by the manufacturer based on the certificate data 1370, it transmits the authentication data indicating that the memory card 300 has been authenticated to the memory card 300 (step (step (step)). 3)). Note that the PLC 100 in slot 1 does not transmit authentication data unless it can be determined that the memory card 300 is a legitimate product by the manufacturer.
  • the PLC 100b in slot 1 collates the user data 1160 held by itself with the user data acquired from the support device 400, and if both match, the certificate data 1170 held by itself is stored in the memory card in slot 1. It is transmitted to 300 (step (4)). Note that the PLC100b in slot 1 does not transmit the certificate data 1170 unless the user data can be authenticated.
  • the memory card 300 determines that the PLC100b in slot 1 is a legitimate product by the manufacturer based on the certificate data 1170, the memory card 300 transmits the authentication data indicating that the PLC100b has been authenticated to the PLC100b (step (5)). The memory card 300 does not transmit authentication data unless it can be determined that the PLC100b in slot 1 is a legitimate product by the manufacturer.
  • the PLC100b in slot 1 transmits the identification data 1180 (model “A”) it holds to each unit 200b in slots 2 to 5 for model matching (step (6)). Further, the PLC 100b in slot 1 transmits the identification data 1180 (model “A”) held by the PLC 100b to the memory card 300 for model matching (step (7)).
  • each unit 200b of slots 2 to 5 transfers the identification data 2180 (models “B”, “B”, “C”, “C”) held by itself to the memory card 300 for model matching. Transmit (step (8)). Further, the memory card 300 transmits the identification data 1380 (model “X”) held by the memory card 300 to each unit 200b of slots 2 to 5 for model matching (step (9)). Further, each unit 200b in slots 2 to 5 transmits the identification data 2180 held by itself to the other units 200b for model matching (step (10)).
  • the memory card 300, the PLC100b of slot 1, and the units 200b of slots 2 to 5 acquire identification data (model) of each member.
  • the memory card 300, the PLC100b in slot 1, and the units 200b in slots 2 to 5 obtain the identification data (model) acquired from each member and the model of each member stored in the list held by the memory card 300.
  • Match step (11)).
  • the memory card 300 enables access to the backup data by the PLC 100b and transmits the backup data to the PLC 100b in slot 1 (step (12)).
  • the PLC100b in slot 1 executes a restore based on the backup data acquired from the memory card 300 (step (13)).
  • backup data was transmitted from the memory card 300 to the PLC100b in slot 1 when it was determined that the degree of matching of the model matching results was high, but the present invention is not limited to this, and the PLC100b and the memory are not limited to this.
  • the backup data may be transmitted from the memory card 300 to the PLC 100b in the slot 1. In this case, unless it is determined that the degree of matching of the model matching results is high, the execution of restoration by the PLC 100b in slot 1 may be prohibited.
  • the memory card 300 when the memory card 300 is accepted by the PLC 100b, the memory card is when the degree of matching of the matching results among the members is high as a result of the type matching executed by each of the members other than the PLC 100b. Since the access of the backup data stored in the 300 is enabled, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the backup data in the removable memory card 300.
  • the access of the backup data stored in the memory card 300 can be enabled, and the security regarding the access of the backup data in the removable storage medium can be enabled. Can be balanced with the improvement of user convenience.
  • the memory card 300 is not permitted by the access authentication process (model matching) as described above. Since the data of the 300 cannot be accessed from the device, it is possible to prevent the memory card 300 from being erroneously inserted.
  • the present embodiment includes the following disclosure.
  • a control system (1) that controls data access in a device group in which a plurality of devices (100, 200-1 to 200-4) are configured to be able to communicate with each other.
  • a first device (100) that detachably accepts a storage medium (300) included in the plurality of devices and stores data, It includes one or a plurality of second devices (200-1 to 200-4) included in the plurality of devices.
  • Each member of the plurality of devices and the storage medium A storage area (1332, 1132, 2162) that holds a list (300L, 100L, 200-1L to 200-4L) containing relevant information about each member.
  • a collation means for collating the related information of each of the other members acquired from each of the other members with the related information of each of the other members included in the list held in the storage area (FIG. 12). It has a step (15) and a step (11) of FIG.
  • the first device enables access to data stored in the storage medium when the collation result by the collation means of each of the other members other than the first device satisfies a predetermined condition. , Control system (1).
  • the first device has a read unit (1130) that includes concealed dedicated logic.
  • the relevant information includes a serial number that individually identifies each of the members.
  • the collation means collates the serial number of each of the other members acquired from each of the other members with the serial number of each of the other members included in the list held in the storage area. , Configuration 1 or Configuration 2 control system (1).
  • the relevant information includes the model of each member.
  • the collation means collates the model of each of the other members acquired from each of the other members with the model of each of the other members included in the list held in the storage area. Control system 1 or configuration 2 (1).
  • a support device (400) for supporting the device group is provided.
  • the related information includes a serial number that individually identifies each member and a model of each member.
  • the collation means A first collation means for collating the serial number of each of the other members acquired from each of the other members with the serial number of each of the other members included in the list held in the storage area.
  • Step (15) in FIG. 12) and A second collation means (FIG.) for collating the model of each of the other members acquired from each of the other members with the model of each of the other members included in the list held in the storage area. Including 13 steps (11))
  • the support device provides a user interface (454) for selecting either collation by the first collation means or collation by the second collation means, the control system (1) of configuration 1 or 2. ..
  • a support device (400) for supporting the device group is provided.
  • the support device provides a user interface (455) for setting the number of the members to be collated by the collation means among the other members other than the first device, configurations 1 to 5.
  • a support device (400) for supporting the device group is provided.
  • the support device is a control system (1) according to any one of configurations 1 to 6, which provides a user interface (456) for setting the scope of application of the member.
  • a control method for controlling data access in a device group in which a plurality of devices (100, 200-1 to 200-4) are configured to be able to communicate with each other.
  • the plurality of devices include a first device (100) that detachably accepts a storage medium (300) for storing data, and one or a plurality of second devices (200-1 to 200-4).
  • Each member of the plurality of devices and the storage medium has a storage area (1332, 1132, 2162) that holds a list (300L, 100L, 200-1L to 200-4L) containing relevant information about each member.
  • the control method is A step of causing each member to collate the related information of each of the other members acquired from each of the other members with the related information of each of the other members included in the list held in the storage area.
  • Step (15) in FIG. 12, step (11) in FIG. 13) A step of enabling the first device to access the data stored in the storage medium when the collation result by each of the other members other than the first device satisfies a predetermined condition (FIG. 12).
  • a control method including step (16) of FIG. 13 and step (12) of FIG.
  • a control device in which a plurality of devices (100, 200-1 to 200-4) are included in a device group configured to be able to communicate with each other and control data access.
  • a receiving unit (103) that detachably receives a storage medium (300) for storing the data is provided.
  • Each member of the plurality of devices and the storage medium A storage area (1332, 1132, 2162) that holds a list (300L, 100L, 200-1L to 200-4L) containing relevant information about each member.
  • a collation means (FIG. 12) for collating the related information of each of the other members acquired from each of the other members with the related information of each of the other members included in the list held in the storage area.
  • Step (15) and step (11) of FIG. The control device enables access to data stored in the storage medium when the collation result by the collation means of each of the other members other than the control device satisfies a predetermined condition. 100).
  • the collation result of the related information executed by each of the other units 200 other than the PLC 100 satisfies the predetermined condition. Since the access of the data stored in the memory card 300 is sometimes enabled, it is possible to enhance the security while ensuring the convenience of the user regarding the access of the data in the removable memory card 300.
  • control system 200 units, 2 networks, 4 local buses, 100L, 200L, 300L list, 102,402,1131,161 processor, 103,113 memory card interface, 104,404 main memory, 105 USB connector, 106,406 , 1132, 2162 storage, 108, 416 network controller, 130, 418 processor bus, 140 control program, 210 function module, 220 local bus controller, 300 memory card, 400 support device, 408 input unit, 410 display unit, 412 optical drive 414 Recording medium, 450 screen, 451 User information column, 452 User authentication method column, 453 Password column, 454 Verification method column, 455 Security strength column, 456 Applicable range column, 1060 System program, 1065, 2150 Restore program, 1130 , 2130 security unit, 1133, 2163 memory, 1134, 1135 IO module, 1136 memory card controller, 1150 read program, 1160, 1360, 2160 user data, 1170, 1370, 2170, 3170 certificate data, 1180, 1380, 2180 identification

Landscapes

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

Abstract

着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高める技術を提供する。制御システム(1)は、複数のデバイスに含まれかつデータを記憶するメモリカード(300)を着脱可能に受け入れるPLC(100)と、複数のデバイスに含まれる1または複数のユニット(200)とを備え、複数のデバイスおよびメモリカード(300)の各メンバーは、各メンバーに関する関連情報を含むリストを保持し、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報を照合し、PLC(100)は、当該PLC(100)以外の他のメンバー各々の照合手段による照合結果が所定の条件を満たしたときに、メモリカード(300)に記憶されたデータのアクセスを有効にする。

Description

制御システム、制御方法、および制御デバイス
 本発明は、制御システム、制御方法、および制御デバイスに関し、より特定的には複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システム、制御方法、および制御デバイスに関する。
 多くの生産現場で使用される機械や設備は、典型的には、プログラマブルコントローラ(Programmable Logic Controller;以下「PLC」とも称す)などの制御デバイスを含む制御システムによって制御される。一般的に、このような制御システムにおいては、着脱可能な記憶媒体に記憶されたデータを用いて、システムを復旧させたり、プログラムやデータを更新させたりすることが行われている。
 たとえば、特開2011-215814号公報(特許文献1)においては、プログラマブルコントローラ(PLC)に接続されたバックアップ・リストアユニットを利用して、通信機器の対象パラメータの設定値をバックアップまたはリストアすることができるバックアップ・リストアシステムが開示されている。このバックアップ・リストアシステムにおいては、メモリカードなどの着脱可能な記憶媒体に記憶させておいたバックアップデータを用いて、各種データがリストアされるようになっている。
特開2011-215814号公報
 特許文献1に開示されたバックアップ・リストアシステムのように、着脱可能な記憶媒体にデータを記憶させ、必要に応じてPLCなどのデバイスからデータにアクセスさせることは一般的に行われている。このような着脱可能な記憶媒体は持ち運びができるためにユーザの利便性がよい反面、着脱可能であるが故に盗難される危険性があり、セキュリティ面においては不安要素もある。一般的な盗難対策であれば、記憶媒体に対して予め決められたホストによって個体認証などでアクセスコントロールすればよいが、FA(ファクトリオートメーション)の分野では、実使用上、必ずしも決められたホストに記憶媒体が挿入されるとは限らない。
 本発明は、上述したような課題を解決することを一つの目的とし、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高める技術を提供することを目的とする。
 本開示の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システムが提供される。制御システムは、複数のデバイスに含まれかつデータを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、複数のデバイスに含まれる1または複数の第2のデバイスとを備える。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域と、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報を照合する照合手段とを有する。第1のデバイスは、当該第1のデバイス以外の他のメンバー各々の照合手段による照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスを有効にする。
 この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 上述の開示において、第1のデバイスは、秘匿化された専用のロジックを含む読込部を有しており、記憶媒体は、読込部からのみアクセス可能に構成されている。
 この開示によれば、第1のデバイスが有する秘匿化された専用のロジックを含む読込部からのみ記憶媒体にアクセス可能であるため、着脱可能な記憶媒体におけるデータのアクセスに関してさらにセキュリティを高めることができる。
 上述の開示において、関連情報は、各メンバーを個別に識別するシリアルナンバーを含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々のシリアルナンバーに対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々のシリアルナンバーを照合する。
 この開示によれば、各メンバーを個別に識別するシリアルナンバーの照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してさらにセキュリティを高めることができる。
 上述の開示において、関連情報は、各メンバーの型式を含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々の型式に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の型式を照合する。
 この開示によれば、各メンバーの型式の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、型式が同じである一方でシリアルナンバーが異なるメンバー構成であっても記憶媒体に記憶されたデータのアクセスを有効にすることができ、着脱可能な記憶媒体におけるデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
 上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。関連情報は、各メンバーを個別に識別するシリアルナンバーと、各メンバーの型式とを含み、照合手段は、他のメンバー各々から取得した当該他のメンバー各々のシリアルナンバーに対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々のシリアルナンバーを照合する第1の照合手段と、他のメンバー各々から取得した当該他のメンバー各々の型式に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の型式を照合する第2の照合手段とを含む。サポート装置は、第1の照合手段による照合および第2の照合手段による照合のいずれかを選択するためのユーザインターフェースを提供する。
 この開示によれば、ユーザは、サポート装置を利用して、各メンバーを個別に識別するシリアルナンバーの照合、および各メンバーの型式の照合のいずれかを選択することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。サポート装置は、第1のデバイス以外の他のメンバーのうち、照合手段による照合対象となるメンバーの数を設定するためのユーザインターフェースを提供する。
 この開示によれば、ユーザは、サポート装置を利用して、照合対象となるメンバーの数を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 上述の開示において、制御システムは、デバイス群を支援するサポート装置を備える。サポート装置は、メンバーの適用範囲を設定するためのユーザインターフェースを提供する。
 この開示によれば、ユーザは、サポート装置を利用して、メンバーの適用範囲を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 本開示の別の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法が提供される。複数のデバイスには、データを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、1または複数の第2のデバイスとが含まれる。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域を有する。制御方法は、各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報を照合させるステップと、第1のデバイスに、当該第1のデバイス以外の他のメンバー各々による照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスを有効にさせるステップとを含む。
 この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 本開示の別の一例に従えば、複数のデバイスが互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスが提供される。制御デバイスは、データを記憶する記憶媒体を着脱可能に受け入れる受入部を備える。複数のデバイスおよび記憶媒体の各メンバーは、各メンバーに関する関連情報を含むリストを保持する記憶領域と、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、記憶領域に保持されたリストに含まれる当該他のメンバー各々の関連情報とを照合する照合手段とを有する。制御デバイスは、当該制御デバイス以外の他のメンバー各々の照合手段による照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスを有効にする。
 この開示によれば、第1のデバイスによって記憶媒体が受け入れられた際、当該第1のデバイス以外の他のメンバーの各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、記憶媒体に記憶されたデータのアクセスが有効になるため、着脱可能な記憶媒体におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
本実施の形態に係る制御システムの適用例を示す模式図である。 本実施の形態に係るPLCのハードウェア構成例、およびメモリカードの構成例を示す模式図である。 本実施の形態に係るユニットのハードウェア構成例を示す模式図である。 本実施の形態に係るサポート装置のハードウェア構成例を示す模式図である。 本実施の形態に係る制御システムにおいて正当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおけるシリアル照合の判定例を示す模式図である。 本実施の形態に係る制御システムにおいて不当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおいて正当にデータアクセスされる場合のモデル照合の一例を示す模式図である。 本実施の形態に係る制御システムにおけるモデル照合の判定例を示す模式図である。 本実施の形態に係る制御システムにおいて不当にデータアクセスされる場合のモデル照合の一例を示す模式図である。 本実施の形態に係るサポート装置における設定画面の一例を示す模式図である。 本実施の形態に係る制御システムにおいて実行されるシリアル照合によるアクセス認証処理の一例を示すシーケンス図である。 本実施の形態に係る制御システムにおいて実行されるモデル照合によるアクセス認証処理の一例を示すシーケンス図である。
 本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
 <A.適用例>
 本発明が適用される場面の一例について説明する。
 図1は、本実施の形態に係る制御システム1の適用例を示す模式図である。図1に示すように、制御システム1は、複数のデバイスが互いに通信可能に構成されたデバイス群を含む。
 本明細書において、「デバイス」は、制御システム1における制御要素の単位を意味し、制御演算に必要なプログラム、構成設定、パラメータなどは、デバイスの単位で生成および管理される。典型的には、「デバイス」は、制御プログラム(シーケンス制御およびモーション制御を含み得る)を実行する処理主体であるプログラマブルコントローラ(PLC)と、PLCに接続される周辺装置とを含み得る。典型的には、周辺装置は、PLCで取り扱われる入出力データを制御対象との間で遣り取りする装置であり、具体的には、ユニット、スレーブデバイス、およびカプラユニットなどが挙げられる。
 図1の例では、制御システム1は、デバイスとして、プログラマブルコントローラ(PLC)100と、PLC100と通信可能に接続された複数のユニット200-1,200-2,200-3,200-4(以下、「ユニット200」とも総称する。)とを備える。PLC100は、「第1のデバイス」の一例であり、ユニット200は、「第2のデバイス」の一例である。なお、「第1のデバイス」および「第2のデバイス」は、PLC、ユニット、スレーブデバイス、およびカプラユニットなどのいずれのデバイスに適用してもよい。
 スロット1(図中のSlot1)に配置されたPLC100を中心として、スロット2に配置されたユニット200-1(図中のUnit1)、スロット3に配置されたユニット200-2(図中のUnit2)、スロット4に配置されたユニット200-3(図中のUnit3)、およびスロット5に配置されたユニット200-4(図中のUnit4)がローカルバス4を介してPLC100と通信可能に接続されている。
 さらに、制御システム1は、デバイス群を支援するサポート装置400を備える。サポート装置400は、制御システム1を構成する各デバイスで実行される制御プログラムや必要なパラメータなどの開発や管理を行う。PLC100には、サポート装置400と通信接続するためのUSB(Universal Serial Bus)コネクタ105が設けられており、サポート装置400によって開発されたプログラムや設定パラメータは、ネットワーク2を介してUSBコネクタ105からPLC100およびユニット200に転送(ダウンロード)される。
 このような構成を有する制御システム1においては、着脱可能な記憶媒体に記憶されたデータを用いて、システムを復旧させたり、プログラムやデータを更新させたりする機能が搭載されている。たとえば、PLC100は、メモリカード300を着脱可能に受け入れるメモリカードインターフェース103を備えており、メモリカードインターフェース103に装着されたメモリカード300にアクセスすることでデータを取得することができる。なお、メモリカードインターフェース103は、「受入部」の一例である。
 具体的な例としては、システムのバックアップ/リストアが挙げられる。たとえば、ユーザは、メモリカードインターフェース103を介して、各デバイスで用いられるデータをメモリカード300に記憶させることでデータをバックアップしておく。デバイスが故障した場合には、故障したデバイスを新たなデバイスと交換し、メモリカード300にバックアップしておいたデータ(以下、「バックアップデータ」とも称する。)を、新たに導入されたデバイスにおいて復元する。このような処理を「リストア」とも称する。バックアップデータは、典型的には、制御システム1の不具合などを解消するために用いられる。
 「記憶媒体」の一例であるメモリカード300としては、たとえば、SD(Secure Digital)カードなどの着脱可能なメモリカードが挙げられる。なお、「記憶媒体」は、USBメモリ、コンパクトフラッシュ(登録商標)、およびメモリースティックなど、着脱可能な記憶媒体であればいずれのものも含み得る。
 記憶媒体によって記憶される「データ」は、上述したバックアップデータ、デバイスで用いられるプログラムやパラメータ、デバイスによって取得されたログデータやトレースデータなどを含み得る。
 このように、着脱可能なメモリカード300にバックアップデータなどを記憶させ、必要に応じてPLC100などのデバイスからアクセスさせることがある。このような着脱可能なメモリカード300は持ち運びができるためにユーザの利便性がよい反面、着脱可能であるが故に盗難される危険性があり、セキュリティ面においては不安要素もある。一般的な盗難対策であれば、メモリカード300に対して予め決められたホスト(デバイス)によって個体認証などでアクセスコントロールすればよいが、FA(ファクトリオートメーション)の分野では、実使用上、必ずしも決められたホストにメモリカード300が挿入されるとは限らない。
 つまり、メモリカード300に対するアクセス制限を厳しくすればするほど、よりセキュアなシステムを構築することができる反面、その分、実使用における作業性が悪くなる。そこで、本実施の形態に係る制御システム1においては、このようなトレードオフを解消するために、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高める技術を提供する。
 具体的には、特定のデバイスにメモリカード300が挿入された場合、メモリカード300自身が挿入元である特定のデバイスを認証していなくても、他の多くのデバイス間で現在接続されているデバイス群の構成内容が一致すれば、メモリカード300におけるデータに対する当該特定のデバイスによるアクセスを有効にするように、制御システム1が構成されている。以下、具体的に説明する。
 本実施の形態においては、PLC100やユニット200-1~200-4などの複数のデバイス、およびメモリカード300を総称して「メンバー」とも称する。各メンバーは、当該各メンバーに関する関連情報を含むリストを保持する記憶領域を有する。「関連情報」は、各メンバーを特定する情報であればいずれのものであってもよく、本実施の形態においては、型式(図中のModel)と、シリアルナンバー(図中のSerial)とを含み得る。
 「型式」は、各メンバーにおいて、構造、設備、および外形などの違いによって他と区別される型を意味する。「シリアルナンバー」は、各メンバーを個別に識別する番号であり、たとえば、出荷される製品の各々に割り当てられる固有の製造番号が適用され得る。通常、シリアルナンバーは各メンバーに固有に割り当てられるため、複数の異なるメンバー間でシリアルナンバーが重複することはない。一方、型式はメンバーの型ごとに割り当てられるため、複数の異なるメンバー間で型式が重複し得る。
 たとえば、図1の例では、PLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。ユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。ユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。ユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。ユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように、PLC100およびユニット200-1~200-4の各々に固有のシリアルナンバーが割り当てられているのに対して、ユニット200-1とユニット200-2とでは同じ型式「B」が割り当てられ、ユニット200-3とユニット200-4とでは同じ型式「C」が割り当てられている。
 さらに、メモリカード300には、型式として「X」が割り当てられ、シリアルナンバーとして「y」が割り当てられている。
 また、メモリカード300は、リスト300Lを保持し、PLC100は、リスト100Lを保持し、ユニット200-1~200-4は、それぞれリスト200-1L~200-4Lを保持する。各リストは、サポート装置400によって作成され、各デバイスに転送される。そして、サポート装置400またはPLC100を介して、メモリカード300にもリストが保持される。
 図1の例では、メモリカード300が保持するリスト300Lの内容が示されている。リスト300Lには、スロット(Slot)1~5ごとに割り当てられた型式(Model)およびシリアルナンバー(Serial)が格納されており、さらに、メモリカード300の型式(Model)およびシリアルナンバー(Serial)も格納されている。これにより、メモリカード300は、リスト300Lを参照することで、システム上において現時点で構成されている各メンバーを把握することができる。
 また、基本的には、メンバーが交換されない限り、各メンバーが保持するリスト間でその内容は同じである。具体的には、図1に示したリスト300Lの内容は、PLC100が保持するリスト100Lの内容、およびユニット200-1~200-4のそれぞれが保持するリスト200-1L~200-4Lの内容と同じである。
 さらに、各メンバーは、他のメンバー各々から取得した当該他のメンバー各々の関連情報に対して、自身が保持するリストに含まれる当該他のメンバー各々の関連情報を照合するように構成されている。
 具体的には、メモリカード300は、自身が保持するリストに含まれる他のメンバー(PLC100,ユニット200)の型式やシリアルナンバーと、他のメンバー(PLC100,ユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(PLC100,ユニット200)について関連情報が一致するか否かを判断する。
 同様に、PLC100は、自身が保持するリストに含まれる他のメンバー(メモリカード300,ユニット200)の型式やシリアルナンバーと、他のメンバー(メモリカード300,ユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(メモリカード300,ユニット200)について関連情報が一致するか否かを判断する。
 同様に、各ユニット200は、自身が保持するリストに含まれる他のメンバー(メモリカード300,PLC100,他のユニット200)の型式やシリアルナンバーと、他のメンバー(メモリカード300,PLC100,他のユニット200)から取得した型式やシリアルナンバーとを照合することで、他のメンバー(メモリカード300,PLC100,他のユニット200)について関連情報が一致するか否かを判断する。
 PLC100は、メモリカード300が挿入された際、上述した各メンバーによる照合の結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスを有効にする。「所定の条件」は、セキュリティの観点から、メモリカード300に記憶されたデータのアクセスを有効にすることができる条件であれば、いずれのものを用いてもよい。
 たとえば、メモリカード300がPLC100に挿入された際、PLC100以外の他のメンバー(メモリカード300,ユニット200)によって、自身が保持するリストに基づき、システム上において現在構成されている各メンバーが照合され、メンバー間でその照合結果の一致度合いが一定の値を超えていれば、メモリカード300におけるデータに対するPLC100によるアクセスが有効になる。
 このように、本実施の形態に係る制御システム1においては、PLC100によってメモリカード300が受け入れられた際、当該PLC100以外の他のメンバー(メモリカード300,ユニット200)の各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスが有効になるため、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 <B.制御システム1に含まれる各装置のハードウェア構成>
 次に、制御システム1に含まれる各装置のハードウェア構成の一例について説明する。
 (b1:PLC100)
 図2は、本実施の形態に係るPLC100のハードウェア構成例、およびメモリカード300の構成例を示す模式図である。図2に示すように、PLC100は、プロセッサ102と、メインメモリ104と、ストレージ106と、ネットワークコントローラ108と、メモリカードインターフェース113とを含む。これらのコンポーネントは、プロセッサバス130を介して接続されている。
 プロセッサ102は、制御演算などを実行する演算部であり、たとえば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ106に格納されたプログラム(一例として、制御プログラム140、システムプログラム1060、およびリストア用プログラム1065)を読み出して、メインメモリ104に展開して実行することで、所定の制御を実現する。
 図2の例では、プロセッサ102が所定のプログラムを実行することで、PLC100として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
 メインメモリ104は、たとえば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ106は、たとえば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。ストレージ106には、基本的な機能を実現するためのシステムプログラム1060に加えて、設備や機械などの制御対象に応じて作成される制御プログラム140、およびPLC100をリストアするためのリストア用プログラム1065が格納されている。
 ネットワークコントローラ108は、ネットワーク2を介して、サポート装置400を含む任意の情報処理装置との間でデータを遣り取りする。
 メモリカードインターフェース113は、着脱可能な記録媒体の一例であるメモリカード300専用のインターフェースである。メモリカードインターフェース113は、所定のアクセス認証を受けることによって、メモリカード300に対してデータを書き込み、メモリカード300から各種データ(バックアップデータなど)を読み出すことが可能になっている。
 メモリカードインターフェース113には、セキュリティユニット1130が搭載されている。セキュリティユニット1130は、メモリカード300に対するプロセッサ102からのアクセスを許可または禁止するセキュリティチップであり、秘匿化された専用のロジックを含む「読込部」の一例である。本実施の形態に係るメモリカード300は、データのアクセスに関してセキュアなメモリカードであり、セキュリティユニット1130からのみアクセス可能に構成されている。これにより、メモリカード300におけるデータのアクセスに関してセキュリティを高めることができる。
 セキュリティユニット1130は、プロセッサ1131と、ストレージ1132と、メモリ1133と、IOモジュール1134と、IOモジュール1135と、メモリカードコントローラ1136とを含む。
 プロセッサ1131は、制御演算などを実行する演算部であり、たとえば、MPU(Micro Processing Unit)などで構成される。プロセッサ1131は、ストレージ1132に格納されたプログラム(一例として、読込プログラム1150)を読み出して、メモリ1133に展開して実行することで、所定の制御を実現する。
 図2の例では、プロセッサ1131が所定のプログラムを実行することで、セキュリティユニット1130として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
 メモリ1133は、たとえば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ1132は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成され、PLC100における「記憶領域」の一例である。ストレージ1132には、読込プログラム1150と、ユーザデータ1160と、証明書データ1170と、識別データ1180と、リスト100Lとが格納されている。
 読込プログラム1150は、メモリカード300に含まれるバックアップデータなどのデータ1335に対するプロセッサ102からのアクセス指令が出力された場合に、メモリカード300のデータ1335に対するアクセスを有効にするか否かを判定するとともに、当該判定結果がポジティブな結果であればアクセスを有効にする一方、ネガティブな結果であればアクセスを禁止するといったアクセス認証処理を実行するためのプログラムを含む。ユーザデータ1160は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。
 証明書データ1170は、PLC100が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ1170は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ1170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
 識別データ1180は、PLC100の型式やシリアルナンバーなどの関連情報を含む。リスト100Lは、上述したように、各メンバーに関する関連情報を含む。
 IOモジュール1134は、プロセッサバス130を介して、プロセッサ1131とプロセッサ102などとの間で入出力データを遣り取りする。IOモジュール1135は、メモリカードコントローラ1136を介して、プロセッサ1131とメモリカード300との間で入出力データを遣り取りする。
 メモリカードコントローラ1136は、上述のアクセス認証処理に基づきメモリカード300に対するプロセッサ102からのアクセスを有効にする場合に、メモリカード300との間の通信経路を有効にする。
 (b2:メモリカード300)
 図2に示すように、メモリカード300は、データエリア1331と、セキュアエリア1332と、セキュリティコントローラ1336とを含む。データエリア1331は、バックアップデータなどのデータ1335が格納される記憶領域である。データ1335は、公開鍵などの鍵を用いて暗号化された上でデータエリア1331に格納されてもよい。
 セキュアエリア1332は、アクセスに認証を要する秘匿化された記憶領域であり、メモリカード300における「記憶領域」の一例である。セキュアエリア1332には、ユーザデータ1360と、証明書データ1370と、識別データ1380と、リスト300Lとが格納されている。
 ユーザデータ1360は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。証明書データ1370は、メモリカード300が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ1370は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ3170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
 識別データ1380は、メモリカード300の型式やシリアルナンバーなどの関連情報を含む。リスト300Lは、上述したように、各メンバーに関する関連情報を含む。
 セキュリティコントローラ1336は、上述のアクセス認証処理に基づきデータ1335に対するプロセッサ102からのアクセスが有効にされた場合に、セキュリティユニット1130とデータエリア1331との間の通信経路を有効にする。特に、本実施の形態に係るメモリカード300は、秘匿化された専用のロジックを含むPLC100のセキュリティユニット1130からのみアクセス可能に構成されているが、仮に、メモリカード300にアクセス可能な他の読込装置があったとしても、上述したアクセス認証処理に基づく認証ができなければ、外部からメモリカード300のデータエリア1331に格納されたデータ1335にアクセスできないように構成されている。
 (b3:ユニット200)
 図3は、本実施の形態に係るユニット200のハードウェア構成例を示す模式図である。図3に示すように、ユニット200は、機能モジュール210と、ローカルバスコントローラ220と、セキュリティユニット2130とを含む。
 機能モジュール210は、各ユニット200の責務に応じた機能を提供する。たとえば、ユニット200がデジタル入力ユニットである場合には、機能モジュール210は、フォトカプラなどのデジタル信号の入力回路および検出回路を有している。また、ユニット200がサーボドライバなどである場合には、機能モジュール210は、軌道演算ロジックおよび指令生成ロジックなどを有している。
 ローカルバスコントローラ220は、ローカルバス4を介して、接続先のPLC100または他のユニット200との間でデータを遣り取りする。
 セキュリティユニット2130は、上述したアクセス認証処理を実行するためのセキュリティチップであり、機能モジュール210とローカルバスコントローラ220との間で相互に通信する。セキュリティユニット2130は、プロセッサ2161と、ストレージ2162と、メモリ2163とを含む。
 プロセッサ2161は、制御演算などを実行する演算部であり、たとえば、MPUなどで構成される。プロセッサ2161は、ストレージ2162に格納されたプログラム(一例として、リストア用プログラム2150)を読み出して、メモリ2163に展開して実行することで、所定の制御を実現する。
 図3の例では、プロセッサ2161が所定のプログラムを実行することで、ユニット200として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
 メモリ2163は、たとえば、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ2162は、たとえば、フラッシュメモリなどの不揮発性記憶装置などで構成され、ユニット200における「記憶領域」の一例である。ストレージ2162には、リストア用プログラム2150と、ユーザデータ2160と、証明書データ2170と、識別データ2180と、リスト200Lとが格納されている。
 リストア用プログラム2150は、ユニット200をリストアするためのプログラムを含む。ユーザデータ2160は、制御システム1におけるユーザを識別するための情報(たとえば、アカウント名やパスワード)を含む。証明書データ2170は、ユニット200が制御システム1にとって正当であることを証明するための情報を含む。たとえば、証明書データ2170は、メーカによって正当な製品であると認証された際に発行された証明書の情報を含む。なお、証明書データ2170は、メーカに限らず、ユーザや第三者の外部組織によって認証された際に発行された証明書の情報を含んでいてもよい。
 (b4:サポート装置400)
 図4は、本実施の形態に係るサポート装置400のハードウェア構成例を示す模式図である。サポート装置400は、一例として、汎用的なアーキテクチャに従うコンピュータがプログラムを実行することで実現される。
 図4に示すように、サポート装置400は、プロセッサ402と、メインメモリ404と、ストレージ406と、入力部408と、表示部410と、光学ドライブ412と、ネットワークコントローラ416とを含む。これらのコンポーネントは、プロセッサバス418を介して相互に通信可能に接続されている。
 プロセッサ402は、CPUやGPUなどで構成され、ストレージ406に格納されたプログラム(一例として、OS4060およびサポートプログラム4062)を読み出して、メインメモリ404に展開して実行することで、各種処理を実現する。
 図4の例では、プロセッサ402が所定のプログラムを実行することで、サポート装置400として必要な機能が提供される構成例を示したが、これらの提供される機能の一部または全部を、専用のハードウェア回路(たとえば、ASICまたはFPGAなど)を用いて実装してもよい。
 メインメモリ404は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ406は、たとえば、HDDやSSDなどの不揮発性記憶装置などで構成される。
 ストレージ406には、基本的な機能を実現するためのOS4060に加えて、サポート装置400としての機能を提供するためのサポートプログラム4062が格納されている。サポートプログラム4062は、コンピュータをサポート装置400として機能させる。
 入力部408は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部410は、ディスプレイ、各種インジケータ、プリンタなどで構成され、プロセッサ402からの処理結果などを出力する。
 ネットワークコントローラ416は、ネットワーク2を介して、PLC100などの任意の外部装置などとの間でデータを遣り取りする。
 サポート装置400は、光学ドライブ412を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記録媒体414(たとえば、DVD(Digital Versatile Disc)などの光学記録媒体)から、その中に格納されたプログラムが読み取られてストレージ406などにインストールされる。
 サポート装置400で実行されるサポートプログラム4062などは、コンピュータ読取可能な記録媒体414を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置400が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
 <C.シリアル照合の一例>
 図5~図7を参照しながら、アクセス認証処理におけるシリアルナンバーを用いた照合(以下、「シリアル照合」とも称する。)について説明する。
 (c1.正当にデータアクセスされる場合のシリアル照合の一例)
 図5は、本実施の形態に係る制御システム1において正当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。図6は、本実施の形態に係る制御システム1におけるシリアル照合の判定例を示す模式図である。
 図5に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
 このような状況において、スロット1のPLC100が故障したため、PLC100をPLC100aに交換することで制御システム1aを構築することを想定する。PLC100aには、型式として「A」が割り当てられ、シリアルナンバーとして「f」が割り当てられている。つまり、PLC100に代わって新たに導入されたPLC100aは、型式がPLC100と同じである一方、シリアルナンバーがPLC100と異なっている。
 PLC100のバックアップデータをリストアするために、PLC100aにメモリカード300が挿入されると、メモリカード300、PLC100a、およびユニット200-1~200-4によるアクセス認証処理(シリアル認証)が実行される。
 ここで、メモリカード300のリスト300L、ユニット200-1のリスト200-1L、ユニット200-2のリスト200-2L、ユニット200-3のリスト200-3L、およびユニット200-4のリスト200-4Lは、ともにリストの内容が同じであるとする。なお、PLC100aは新規導入であるため、リスト100aLの内容は空(ブランク)である。
 メモリカード300は、スロット1のPLC100aから識別データとしてシリアルナンバー「f」を取得して、自身のリスト300Lに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200から識別データとしてシリアルナンバー「b」,「c」,「d」,「e」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応するシリアルナンバー「b」,「c」,「d」,「e」と照合すると、それぞれが一致すると判断する。つまり、メモリカード300による照合の結果、スロット1のシリアルナンバーのみが異なると判断される。
 たとえば、図6に示すように、メモリカード300は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1のみにおいて、ビット「1」を設定し、残りのメンバーについてはビット「0」を設定する。
 PLC100aは、メモリカード300から識別データとしてシリアルナンバー「y」を取得して、自身のリスト100aLに格納されたメモリカードに対応するシリアルナンバーと照合すると、リスト100aLの内容は空(ブランク)であるため、両者が一致しないと判断する。また、PLC100aは、スロット2~スロット5の各ユニット200から識別データとしてシリアルナンバー「b」,「c」,「d」,「e」を取得して、自身のリスト100aLに格納されたスロット2~スロット5に対応するシリアルナンバーと照合すると、リスト100aLの内容は空(ブランク)であるため、それぞれが一致しないと判断する。つまり、PLC100aによる照合の結果、メモリカード300およびスロット2~スロット5において、シリアルナンバーが異なると判断される。
 たとえば、図6に示すように、スロット1のPLC100aは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、メモリカード300およびスロット2~スロット5についてビット「1」を設定する。
 ユニット200-1~200-4のそれぞれは、メモリカード300から識別データとしてシリアルナンバー「y」を取得して、自身のリスト200-1L~200-4Lのそれぞれに格納されたメモリカードに対応するシリアルナンバー「y」と照合すると、両者が一致すると判断する。また、ユニット200-1~200-4のそれぞれは、PLC100aから識別データとしてシリアルナンバー「f」を取得して、自身のリスト200-1L~200-4Lのそれぞれに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、ユニット200のそれぞれは、自身以外の他のユニット200から識別データとしてシリアルナンバーを取得して、自身のリストに格納された他のユニット200に対応するシリアルナンバーと照合すると、両者が一致すると判断する。つまり、ユニット200-1~200-4のそれぞれによる照合の結果、スロット1のシリアルナンバーのみが異なると判断される。
 たとえば、図6に示すように、スロット2~スロット5の各ユニット200は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1のみにおいて、ビット「1」を設定し、残りのメンバーについてはビット「0」を設定する。
 このようにして各メンバーにおいてシリアルナンバーが照合されると、メモリカード300およびユニット200がスロット1のシリアルナンバーのみが異なると判断したことになる。よって、多くのメンバーによって、スロット1のPLC100aが新規導入されていると判断されており、逆に言うと、その他のメンバーは変更されていないと判断できる。したがって、多数決の考え方から、シリアルナンバーを用いた照合の結果の一致度合いは高いため、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効にして、リストアを許可する。
 たとえば、各メンバーによって得られた照合結果は、他のメンバーに送信されることで、全てのメンバー間で図6に示すようなテーブルが共有される。そして、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、照合結果が所定の条件を満たすか否かが判定される。具体的には、図6に示すように、各メンバーによって設定されたビットが加算され、その後、加算結果がメンバー数で除算されることで平均値(%)が算出される。そして、算出された各メンバーの平均値に基づき、50%を超えるメンバーが存在するか否かが判定される。この例においては、スロット1のみが50%を超えている。
 そして、50%を超えたメンバーの数が3個以上の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個以上の場合、照合の結果の一致度合いが低いと判定されてデータのアクセスがNGとなる。一方、50%を超えたメンバーの数が3未満の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個未満の場合、OKと判定される。
 このようにして判定された結果がOKであれば、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効化する。
 (c2.不当にデータアクセスされる場合のシリアル照合の一例)
 図7は、本実施の形態に係る制御システム1において不当にデータアクセスされる場合のシリアル照合の一例を示す模式図である。
 図7に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
 このような状況において、メモリカード300が盗まれて不正に構築されたラインを有する制御システム1xにおいてデータのリストアが行われることを想定する。たとえば、スロット1のPLC100x、およびスロット2~スロット5のユニット200x-1~ユニット200x-4がローカルバス4xを介して通信可能に構成されている。
 スロット1のPLC100xには、型式として「A」が割り当てられ、シリアルナンバーとして「o」が割り当てられている。スロット2のユニット200x-1には、型式として「B」が割り当てられ、シリアルナンバーとして「p」が割り当てられている。スロット3のユニット200x-2には、型式として「B」が割り当てられ、シリアルナンバーとして「q」が割り当てられている。スロット4のユニット200x-3には、型式として「C」が割り当てられ、シリアルナンバーとして「r」が割り当てられている。スロット5のユニット200x-4には、型式として「C」が割り当てられ、シリアルナンバーとして「s」が割り当てられている。
 PLC100のバックアップデータを不当にリストアするために、PLC100xにメモリカード300が挿入されると、アクセス認証処理のプログラムを有していなければ、アクセス認証処理が実行されず、PLC100xによるメモリカード300におけるデータのアクセスが有効化されない。これにより、データの外部流出を防ぐことができる。
 仮にアクセス認証処理のプログラムを有していた場合、メモリカード300、PLC100x、およびユニット200x-1~200x-4によるアクセス認証処理(シリアル認証)が実行される。
 たとえば、メモリカード300は、スロット1のPLC100xから識別データとしてシリアルナンバー「o」を取得して、自身のリスト300Lに格納されたスロット1に対応するシリアルナンバー「a」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200xから識別データとしてシリアルナンバー「p」,「q」,「r」,「s」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応するシリアルナンバー「b」,「c」,「d」,「e」と照合すると、それぞれが一致しないと判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、シリアルナンバーが一致しないと判断される。
 本実施の形態においては、シリアル照合を採用した場合、メモリカード300のリスト300Lに格納された各メンバーのシリアルナンバーと、各メンバーから取得した各メンバーのシリアルナンバーとの照合によって、一致したメンバーの数が一定数(たとえば、3)を超えないときには、一致度合いが低いと判断される。図7の例では、シリアルナンバーを用いた照合の結果の一致度合いは低いため、メモリカード300は、PLC100xによるバックアップデータのアクセスを有効にせず、リストアを禁止する。
 <D.モデル照合の一例>
 図8~図10を参照しながら、アクセス認証処理における型式を用いた照合(以下、「モデル照合」とも称する。)について説明する。
 (d1.正当にデータアクセスされる場合のモデル照合の一例)
 図8は、本実施の形態に係る制御システム1において正当にデータアクセスされる場合のモデル照合の一例を示す模式図である。図9は、本実施の形態に係る制御システム1におけるモデル照合の判定例を示す模式図である。
 図8に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
 このような状況において、制御システム1と同じ構成を有するラインをコピーすることで制御システム1bを構築することを想定する。たとえば、スロット1のPLC100b、およびスロット2~スロット5のユニット200b-1~ユニット200b-4がローカルバス4bを介して通信可能に構成されている。
 スロット1のPLC100bには、型式として「A」が割り当てられ、シリアルナンバーとして「g」が割り当てられている。スロット2のユニット200b-1には、型式として「B」が割り当てられ、シリアルナンバーとして「h」が割り当てられている。スロット3のユニット200b-2には、型式として「B」が割り当てられ、シリアルナンバーとして「i」が割り当てられている。スロット4のユニット200b-3には、型式として「C」が割り当てられ、シリアルナンバーとして「j」が割り当てられている。スロット5のユニット200b-4には、型式として「C」が割り当てられ、シリアルナンバーとして「k」が割り当てられている。
 PLC100のバックアップデータをリストアするために、PLC100bにメモリカード300が挿入されると、メモリカード300、PLC100b、およびユニット200b-1~200b-4によるアクセス認証処理(モデル認証)が実行される。
 ここで、メモリカード300のリスト300L、ユニット200b-1のリスト200b-1L、ユニット200b-2のリスト200b-2L、ユニット200b-3のリスト200b-3L、およびユニット200b-4のリスト200b-4Lは、ともにリストの内容が同じであるとする。
 メモリカード300は、スロット1のPLC100bから識別データとして型式「A」を取得して、自身のリスト300Lに格納されたスロット1に対応する型式「A」と照合すると、両者が一致すると判断する。また、メモリカード300は、スロット2~スロット5の各ユニット200から識別データとして型式「B」,「B」,「C」,「C」を取得して、自身のリスト300Lに格納されたスロット2~スロット5に対応する型式「B」,「B」,「C」,「C」と照合すると、それぞれが一致すると判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、型式が一致すると判断される。
 たとえば、図9に示すように、メモリカード300は、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、スロット1~スロット5において、ビット「0」を設定する。
 PLC100bは、メモリカード300から識別データとして型式「X」を取得して、自身のリスト100bLに格納されたメモリカードに対応する型式「X」と照合すると、両者が一致すると判断する。また、PLC100bは、スロット2~スロット5の各ユニット200bから識別データとして型式「B」,「B」,「C」,「C」を取得して、自身のリスト100bLに格納されたスロット2~スロット5に対応する型式「B」,「B」,「C」,「C」と照合すると、それぞれが一致すると判断する。つまり、PLC100bによる照合の結果、スロット1~スロット5の全てにおいて、型式が一致すると判断される。
 たとえば、図9に示すように、スロット1のPLC100bは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、メモリカード300およびスロット2~スロット5についてビット「0」を設定する。
 ユニット200b-1~200b-4のそれぞれは、メモリカード300から識別データとして型式「X」を取得して、自身のリスト200b-1L~200b-4Lのそれぞれに格納されたメモリカードに対応する型式「X」と照合すると、両者が一致すると判断する。また、ユニット200b-1~200b-4のそれぞれは、PLC100bから識別データとして型式「A」を取得して、自身のリスト200b-1L~200b-4Lのそれぞれに格納されたスロット1に対応する型式「A」と照合すると、両者が一致すると判断する。また、ユニット200bのそれぞれは、自身以外の他のユニット200bから識別データとして型式を取得して、自身のリストに格納された他のユニット200bに対応する型式と照合すると、両者が一致すると判断する。つまり、ユニット200b-1~200b-4のそれぞれによる照合の結果、スロット1~スロット5の全てにおいて、型式が一致すると判断される。
 たとえば、図9に示すように、スロット2~スロット5の各ユニット200bは、自身が保持するテーブルにおいて、照合の結果が一致すればビット「0」を設定し、照合の結果が一致しなければビット「1」を設定するとすれば、照合結果に基づき、各メンバーについてビット「0」を設定する。
 このようにして各メンバーにおいて型式が照合されると、メモリカード300およびスロット1~スロット5の全てにおいて、型式が一致すると判断されたことになる。よって、多くのメンバーによって、スロット1のPLC100bを含む多くのメンバーが変更されていないと判断されている。したがって、多数決の考え方から、型式を用いた照合の結果の一致度合いは高いため、メモリカード300は、PLC100bによるバックアップデータのアクセスを有効にして、リストアを許可する。
 たとえば、各メンバーによって得られた照合結果は、他のメンバーに送信されることで、全てのメンバー間で図9に示すようなテーブルが共有される。そして、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、照合結果が所定の条件を満たすか否かが判定される。具体的には、図9に示すように、各メンバーによって設定されたビットが加算され、その後、加算結果がメンバー数で除算されることで平均値(%)が算出される。そして、算出された各メンバーの平均値に基づき、50%を超えるメンバーが存在するか否かが判定される。この例においては、全てのメンバーにおいて50%を超えていない。
 そして、50%を超えたメンバーの数が3個以上の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個以上の場合、照合の結果の一致度合いが低いと判定されてデータのアクセスがNGとなる。一方、50%を超えたメンバーの数が3未満の場合、つまり、50%を超えるメンバーによって変更されたと判断されたメンバーの数が3個未満の場合、OKと判定される。
 このようにして判定された結果がOKであれば、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効化する。
 なお、図8の例においては、型式が同じラインのコピーであるため、PLCやユニットのシリアルナンバーは変更される。このため、仮に、図5および図6に示すようなシリアル照合を図8の例に採用した場合、多くのメンバーによって、スロット1のPLCを含む多くのメンバーが変更されていると判断されるため、メモリカード300は、PLCによるバックアップデータのアクセスを有効にしないことになる。
 この点、図8および図9の例のように、デバイス固有のシリアルナンバーを用いるのではなく、型式を用いて照合すれば、型式が同じである一方でシリアルナンバーが異なるメンバー構成であってもメモリカード300に記憶されたバックアップデータのアクセスを有効にすることができ、メモリカード300におけるデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
 (d2.不当にデータアクセスされる場合のモデル照合の一例)
 図10は、本実施の形態に係る制御システム1において不当にデータアクセスされる場合のモデル照合の一例を示す模式図である。
 図10に示すように、制御システム1において、スロット1のPLC100には、型式として「A」が割り当てられ、シリアルナンバーとして「a」が割り当てられている。スロット2のユニット200-1には、型式として「B」が割り当てられ、シリアルナンバーとして「b」が割り当てられている。スロット3のユニット200-2には、型式として「B」が割り当てられ、シリアルナンバーとして「c」が割り当てられている。スロット4のユニット200-3には、型式として「C」が割り当てられ、シリアルナンバーとして「d」が割り当てられている。スロット5のユニット200-4には、型式として「C」が割り当てられ、シリアルナンバーとして「e」が割り当てられている。このように構成された制御システム1において、PLC100のバックアップデータがメモリカード300に記憶されている。
 このような状況において、メモリカード300が盗まれて不正に構築されたラインを有する制御システム1yにおいてデータのリストアが行われることを想定する。たとえば、スロット1のPLC100y、およびスロット2~スロット5のユニット200y-1~ユニット200y-3がローカルバス4yを介して通信可能に構成されている。
 スロット1のPLC100yには、型式として「D」が割り当てられ、シリアルナンバーとして「k」が割り当てられている。スロット2のユニット200y-1には、型式として「E」が割り当てられ、シリアルナンバーとして「l」が割り当てられている。スロット3のユニット200y-2には、型式として「E」が割り当てられ、シリアルナンバーとして「m」が割り当てられている。スロット4のユニット200y-3には、型式として「F」が割り当てられ、シリアルナンバーとして「n」が割り当てられている。なお、スロット5にはユニットが存在しない。
 PLC100のバックアップデータを不当にリストアするために、PLC100yにメモリカード300が挿入されると、アクセス認証処理のプログラムを有していなければ、アクセス認証処理が実行されず、PLC100yによるメモリカード300におけるデータのアクセスが有効化されない。これにより、データの外部流出を防ぐことができる。
 仮にアクセス認証処理のプログラムを有していた場合、メモリカード300、PLC100y、およびユニット200y-1~200y-3によるアクセス認証処理(モデル認証)が実行される。
 たとえば、メモリカード300は、スロット1のPLC100yから識別データとして型式「D」を取得して、自身のリスト300Lに格納されたスロット1に対応する型式「A」と照合すると、両者が一致しないと判断する。また、メモリカード300は、スロット2~スロット4の各ユニット200yから識別データとして型式「E」,「E」,「F」を取得して、自身のリスト300Lに格納されたスロット2~スロット4に対応する型式「B」,「B」,「C」と照合すると、それぞれが一致しないと判断する。さらに、メモリカード300は、スロット5から識別データを取得できないため、自身のリスト300Lに格納されたスロット5に対応する型式「C」と照合できず、両者が一致しないと判断する。つまり、メモリカード300による照合の結果、スロット1~スロット5の全てにおいて、型式が一致しないと判断される。
 本実施の形態においては、モデル照合を採用した場合、メモリカード300のリスト300Lに格納された各メンバーの型式と、各メンバーから取得した各メンバーの型式との照合によって、一致したメンバーの数が一定数(たとえば、3)を超えないときには、一致度合いが低いと判断される。図10の例では、型式を用いた照合の結果の一致度合いは低いため、メモリカード300は、PLC100yによるバックアップデータのアクセスを有効にせず、リストアを禁止する。
 <E.サポート装置400における設定画面の一例>
 図11は、本実施の形態に係るサポート装置400における設定画面の一例を示す模式図である。図11に示すように、サポート装置400は、アクセス認証処理に関する各種設定を行うためのユーザインターフェースをユーザに提供する。
 具体的には、サポート装置400の画面450には、ユーザ情報を設定するためのユーザ情報欄451と、ユーザ認証方法を設定するためのユーザ認証方法欄452と、パスワードを設定するためのパスワード欄453と、照合方法を設定するための照合方法欄454と、セキュリティ強度を設定するためのセキュリティ強度欄455と、適用範囲を設定するための適用範囲欄456とが含まれる。
 ユーザは、ユーザ情報欄451に所望のアカウント名を入力することで、ユーザ情報として所望のアカウント名を設定することができる。ユーザは、ユーザ認証方法欄452において所望のユーザ認証方法を選択することができる。図示は省略するが、本実施の形態においては、パスワード認証の他に、顔認証や生体認証(たとえば、指紋認証)などを選択することができる。ユーザは、パスワード認証を選択した場合、パスワード欄453に所望のパスワードを入力することができる。
 ユーザは、照合方法欄454において所望の照合方法を選択することができる。本実施の形態においては、ユーザは、上述したシリアル照合またはモデル照合を選択することができる。このように、本実施の形態に係るサポート装置400は、シリアル照合およびモデル照合のいずれかを選択するためのユーザインターフェースを提供する。
 これにより、ユーザは、サポート装置400を利用して、各メンバーを個別に識別するシリアルナンバーの照合、および各メンバーの型式の照合のいずれかを選択することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 なお、サポート装置400は、モデル照合およびシリアル照合のいずれかのみを実行するための選択肢に限らず、モデル照合およびシリアル照合の両方を実行するための選択肢をユーザに提供してもよい。つまり、本実施の形態に係る制御システム1は、モデル照合およびシリアル照合の両方を実行することで、デバイスによるメモリカード300のデータに対するアクセスを許可または禁止を判断してもよい。
 ユーザは、セキュリティ強度欄455において、制御システム1におけるセキュリティ強度を設定することができる。具体的には、ユーザは、各デバイスの中から、アクセス認証処理においてシリアル照合やモデル照合を実行するデバイスの数を設定することができる。なお、セキュリティ面を考慮すれば、全てのデバイスにおいて照合を実行した方がよいが、処理時間の省略や処理の複雑さを回避するならば、照合するデバイスの数を減らした方がよい。本実施の形態においては、全てのデバイスの数から1を減算した数が推奨されている。このように、本実施の形態に係るサポート装置400は、照合対象となるメンバーの数を設定するためのユーザインターフェースを提供する。
 これにより、ユーザは、サポート装置400を利用して、照合対象となるメンバーの数を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 ユーザは、適用範囲欄456において、アクセス認証処理においてシリアル照合やモデル照合を実行するメンバーの適用範囲を設定することができる。図示は省略するが、本実施の形態においては、ユーザは、PLC100と当該PLC100にローカルバス4を介して接続されたデバイスを適用範囲とすることもできるし、さらに加えてネットワーク2やサポート装置400のようなツールを適用範囲とすることもできる。このように、本実施の形態に係るサポート装置400は、メンバーの適用範囲を設定するためのユーザインターフェースを提供する。
 これにより、ユーザは、サポート装置400を利用して、メンバーの適用範囲を設定することができるため、システムに求められるセキュリティレベルに応じて、適切なシステムを構築することができる。
 <F.アクセス認証処理の一例>
 図12および図13を参照しながら、本実施の形態に係る制御システム1において実行されるアクセス認証処理の一例について説明する。
 (f1.シリアル照合によるアクセス認証処理の一例)
 図12は、本実施の形態に係る制御システム1において実行されるシリアル照合によるアクセス認証処理の一例を示すシーケンス図である。なお、図12においては、図5および図6の例におけるアクセス認証処理(シリアル照合)を例示する。つまり、スロット1においてシリアルナンバー「a」のPLC100から、シリアルナンバー「f」のPLC100aに交換された後のリストアについて例示する。
 図示は省略するが、まず、スロット1のPLC100aにメモリカード300が挿入され、かつ所定のスイッチが操作されると、サポート装置400の画面上においてユーザデータの入力がユーザに求められる。ユーザが、ユーザデータとして、たとえば、ユーザ情報(たとえば、アカウント名)およびパスワードを入力すると、図12に示すように、サポート装置400は、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200にユーザデータを送信する(ステップ(1),(2),(3))。
 スロット1のPLC100aは、自身が保持するユーザデータ1160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1170をスロット2~スロット5の各ユニット200に送信する(ステップ(4))。なお、スロット1のPLC100aは、ユーザデータを認証できなければ、証明書データ1170を送信しない。
 一方、スロット2~スロット5の各ユニット200は、証明書データ1170に基づき、PLC100aがメーカによる正当な製品であると判断すると、PLC100aを認証した旨の認証データをPLC100aに送信する(ステップ(5))。なお、スロット2~スロット5の各ユニット200は、PLC100aがメーカによる正当な製品であると判断できなければ、認証データをPLC100aに送信しない。
 また、スロット2~スロット5の各ユニット200は、自身が保持するユーザデータ2160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ2170をスロット1のPLC100aに送信する(ステップ(6))。なお、スロット2~スロット5の各ユニット200は、ユーザデータを認証できなければ、証明書データ2170を送信しない。
 また、メモリカード300は、自身が保持するユーザデータ1360と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1370をスロット1のPLC100aに送信する(ステップ(7))。なお、メモリカード300は、ユーザデータを認証できなければ、証明書データ1370を送信しない。
 一方、スロット1のPLC100aは、証明書データ2170に基づき、スロット2~スロット5の各ユニット200がメーカによる正当な製品であると判断すると、各ユニット200を認証した旨の認証データを各ユニット200に送信する(ステップ(8))。なお、スロット1のPLC100aは、スロット2~スロット5の各ユニット200がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
 また、スロット1のPLC100aは、証明書データ1370に基づき、メモリカード300がメーカによる正当な製品であると判断すると、メモリカード300を認証した旨の認証データをメモリカード300に送信する(ステップ(9))。なお、スロット1のPLC100aは、メモリカード300がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
 ステップ(1)~(9)の処理によって、スロット2~スロット5の各ユニット200によるスロット1のPLC100aの認証、スロット1のPLC100aによるスロット2~スロット5の各ユニット200の認証、およびスロット1のPLC100aによるメモリカード300の認証が完了する。
 その後、スロット1のPLC100aは、シリアル照合のために、自身が保持する識別データ1180(シリアルナンバー「f」)を、スロット2~スロット5の各ユニット200に送信する(ステップ(10))。また、スロット1のPLC100aは、シリアル照合のために、自身が保持する識別データ1180(シリアルナンバー「f」)を、メモリカード300に送信する(ステップ(11))。
 また、スロット2~スロット5の各ユニット200は、シリアル照合のために、自身が保持する識別データ2180(シリアルナンバー「b」,「c」,「d」,「e」)を、メモリカード300に送信する(ステップ(12))。また、メモリカード300は、シリアル照合のために、自身が保持する識別データ1380(シリアルナンバー「y」)を、スロット2~スロット5の各ユニット200に送信する(ステップ(13))。さらに、スロット2~スロット5の各ユニット200は、シリアル照合のために、自身が保持する識別データ2180を、他のユニット200に送信する(ステップ(14))。
 ステップ(10)~(14)の処理によって、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200は、各メンバーの識別データ(シリアルナンバー)を取得する。
 その後、メモリカード300、スロット1のPLC100a、およびスロット2~スロット5の各ユニット200は、各メンバーから取得した識別データ(シリアルナンバー)と、自身が保持するリストに格納された各メンバーのシリアルナンバーとを照合する(ステップ(15))。
 図5および図6の例で説明したように、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、シリアルナンバーを用いた照合の結果の一致度合いが高いと判断されると、メモリカード300は、PLC100aによるバックアップデータのアクセスを有効にして、バックアップデータをスロット1のPLC100aに送信する(ステップ(16))。
 そして、各メンバーは、他のメンバーから取得した識別データ(シリアルナンバー)に基づき、自身が保持するリストを更新する(ステップ(17))。これにより、各メンバーが保持するリストが、最新の内容に更新される。
 その後、スロット1のPLC100aは、メモリカード300から取得したバックアップデータに基づき、リストアを実行する(ステップ(18))。
 なお、図12に示す例では、モデル照合の結果の一致度合いが高いと判断された場合に、メモリカード300からスロット1のPLC100aにバックアップデータが送信されたが、これに限らず、PLC100a、メモリカード300、および各ユニット200による相互の認証が完了した後に、メモリカード300からスロット1のPLC100aにバックアップデータが送信されてもよい。この場合、モデル照合の結果の一致度合いが高いと判断されない限り、スロット1のPLC100aによるリストアの実行が禁止されるようにすればよい。
 このように、PLC100aによってメモリカード300が受け入れられた際、当該PLC100a以外の他のメンバーの各々によって実行されるシリアルナンバーの照合の結果、各メンバー間で照合結果の一致度合いが高いときに、メモリカード300に記憶されたバックアップデータのアクセスが有効になるため、着脱可能なメモリカード300におけるバックアップデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 また、メモリカード300が盗難されたときに限らず、誤って異なる構成であるシステムにメモリカード300が挿入された場合でも、上述したようなアクセス認証処理(シリアル照合)によって許可されなければメモリカード300のデータにデバイスからアクセスできないため、メモリカード300の誤挿入も防止することができる。
 (f2.モデル照合によるアクセス認証処理の一例)
 図13は、本実施の形態に係る制御システム1において実行されるモデル照合によるアクセス認証処理の一例を示すシーケンス図である。なお、図13においては、図8および図9の例におけるアクセス認証処理(モデル照合)を例示する。つまり、制御システム1と同じ構成を有するラインをコピーした後のリストアについて例示する。
 図示は省略するが、まず、スロット1のPLC100bにメモリカード300が挿入され、かつ所定のスイッチが操作されると、サポート装置400の画面上においてユーザデータの入力がユーザに求められる。ユーザが、ユーザデータとして、たとえば、ユーザ情報(たとえば、アカウント名)およびパスワードを入力すると、図13に示すように、サポート装置400は、メモリカード300にユーザデータを送信する(ステップ(1))。
 メモリカード300は、自身が保持するユーザデータ1360と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1370をスロット1のPLC100bに送信する(ステップ(2))。なお、メモリカード300は、ユーザデータを認証できなければ、証明書データ1370を送信しない。
 一方、スロット1のPLC100bは、証明書データ1370に基づき、メモリカード300がメーカによる正当な製品であると判断すると、メモリカード300を認証した旨の認証データをメモリカード300に送信する(ステップ(3))。なお、スロット1のPLC100は、メモリカード300がメーカによる正当な製品であると判断できなければ、認証データを送信しない。
 また、スロット1のPLC100bは、自身が保持するユーザデータ1160と、サポート装置400から取得したユーザデータとを照合し、両者が一致すれば、自身が保持する証明書データ1170をスロット1のメモリカード300に送信する(ステップ(4))。なお、スロット1のPLC100bは、ユーザデータを認証できなければ、証明書データ1170を送信しない。
 一方、メモリカード300は、証明書データ1170に基づき、スロット1のPLC100bがメーカによる正当な製品であると判断すると、PLC100bを認証した旨の認証データをPLC100bに送信する(ステップ(5))。なお、メモリカード300は、スロット1のPLC100bがメーカによる正当な製品であると判断できなければ、認証データを送信しない。
 ステップ(1)~(5)の処理によって、スロット1のPLC100bによるメモリカード300の認証、およびメモリカード300によるスロット1のPLC100bの認証が完了する。
 その後、スロット1のPLC100bは、モデル照合のために、自身が保持する識別データ1180(型式「A」)を、スロット2~スロット5の各ユニット200bに送信する(ステップ(6))。また、スロット1のPLC100bは、モデル照合のために、自身が保持する識別データ1180(型式「A」)を、メモリカード300に送信する(ステップ(7))。
 また、スロット2~スロット5の各ユニット200bは、モデル照合のために、自身が保持する識別データ2180(型式「B」,「B」,「C」,「C」)を、メモリカード300に送信する(ステップ(8))。また、メモリカード300は、モデル照合のために、自身が保持する識別データ1380(型式「X」)を、スロット2~スロット5の各ユニット200bに送信する(ステップ(9))。さらに、スロット2~スロット5の各ユニット200bは、モデル照合のために、自身が保持する識別データ2180を、他のユニット200bに送信する(ステップ(10))。
 ステップ(6)~(10)の処理によって、メモリカード300、スロット1のPLC100b、およびスロット2~スロット5の各ユニット200bは、各メンバーの識別データ(型式)を取得する。
 その後、メモリカード300、スロット1のPLC100b、およびスロット2~スロット5の各ユニット200bは、各メンバーから取得した識別データ(型式)と、自身が保持するリストに格納された各メンバーの型式とを照合する(ステップ(11))。
 図8および図9の例で説明したように、メンバーのうちの一のメンバー(たとえば、最も早く各メンバーの照合結果を集めたメンバー)によって、型式を用いた照合の結果の一致度合いが高いと判断されると、メモリカード300は、PLC100bによるバックアップデータのアクセスを有効にして、バックアップデータをスロット1のPLC100bに送信する(ステップ(12))。
 そして、スロット1のPLC100bは、メモリカード300から取得したバックアップデータに基づき、リストアを実行する(ステップ(13))。
 なお、図13に示す例では、モデル照合の結果の一致度合いが高いと判断された場合に、メモリカード300からスロット1のPLC100bにバックアップデータが送信されたが、これに限らず、PLC100bおよびメモリカード300による相互の認証が完了した後に、メモリカード300からスロット1のPLC100bにバックアップデータが送信されてもよい。この場合、モデル照合の結果の一致度合いが高いと判断されない限り、スロット1のPLC100bによるリストアの実行が禁止されるようにすればよい。
 このように、PLC100bによってメモリカード300が受け入れられた際、当該PLC100b以外の他のメンバーの各々によって実行される型式の照合の結果、各メンバー間で照合結果の一致度合いが高いときに、メモリカード300に記憶されたバックアップデータのアクセスが有効になるため、着脱可能なメモリカード300におけるバックアップデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 さらに、型式が同じである一方でシリアルナンバーが異なるメンバー構成であってもメモリカード300に記憶されたバックアップデータのアクセスを有効にすることができ、着脱可能な記憶媒体におけるバックアップデータのアクセスに関するセキュリティの向上と、ユーザの利便性の向上とのバランスを取ることができる。
 また、メモリカード300が盗難されたときに限らず、誤って異なる構成であるシステムにメモリカード300が挿入された場合でも、上述したようなアクセス認証処理(モデル照合)によって許可されなければメモリカード300のデータにデバイスからアクセスできないため、メモリカード300の誤挿入も防止することができる。
 <G.付記>
 以上のように、本実施の形態では以下のような開示を含む。
 (構成1)
 複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システム(1)であって、
 前記複数のデバイスに含まれかつデータを記憶する記憶媒体(300)を着脱可能に受け入れる第1のデバイス(100)と、
 前記複数のデバイスに含まれる1または複数の第2のデバイス(200-1~200-4)とを備え、
 前記複数のデバイスおよび前記記憶媒体の各メンバーは、
  前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)と、
  他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合する照合手段(図12のステップ(15),図13のステップ(11))とを有し、
 前記第1のデバイスは、当該第1のデバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御システム(1)。
 (構成2)
 前記第1のデバイスは、秘匿化された専用のロジックを含む読込部(1130)を有しており、
 前記記憶媒体は、前記読込部からのみアクセス可能に構成されている、構成1の制御システム(1)。
 (構成3)
 前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーを含み、
 前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する、構成1または構成2の制御システム(1)。
 (構成4)
 前記関連情報は、前記各メンバーの型式を含み、
 前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する、構成1または構成2の制御システム(1)。
 (構成5)
 前記デバイス群を支援するサポート装置(400)を備え、
 前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーと、前記各メンバーの型式とを含み、
 前記照合手段は、
  前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する第1の照合手段(図12のステップ(15))と、
  前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する第2の照合手段(図13のステップ(11))とを含み、
 前記サポート装置は、前記第1の照合手段による照合および前記第2の照合手段による照合のいずれかを選択するためのユーザインターフェース(454)を提供する、構成1または構成2の制御システム(1)。
 (構成6)
 前記デバイス群を支援するサポート装置(400)を備え、
 前記サポート装置は、前記第1のデバイス以外の前記他のメンバーのうち、前記照合手段による照合対象となる前記メンバーの数を設定するためのユーザインターフェース(455)を提供する、構成1~構成5のいずれかの制御システム(1)。
 (構成7)
 前記デバイス群を支援するサポート装置(400)を備え、
 前記サポート装置は、前記メンバーの適用範囲を設定するためのユーザインターフェース(456)を提供する、構成1~構成6のいずれかの制御システム(1)。
 (構成8)
 複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法(図12,図13)であって、
 前記複数のデバイスには、データを記憶する記憶媒体(300)を着脱可能に受け入れる第1のデバイス(100)と、1または複数の第2のデバイス(200-1~200-4)とが含まれ、
 前記複数のデバイスおよび前記記憶媒体の各メンバーは、前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)を有し、
 前記制御方法は、
  前記各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合させるステップ(図12のステップ(15),図13のステップ(11))と、
  前記第1のデバイスに、当該第1のデバイス以外の前記他のメンバー各々による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にさせるステップ(図12のステップ(16),図13のステップ(12))とを含む、制御方法。
 (構成9)
 複数のデバイス(100,200-1~200-4)が互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスで(100)あって、
 前記データを記憶する記憶媒体(300)を着脱可能に受け入れる受入部(103)を備え、
 前記複数のデバイスおよび前記記憶媒体の各メンバーは、
  前記各メンバーに関する関連情報を含むリスト(300L,100L,200-1L~200-4L)を保持する記憶領域(1332,1132,2162)と、
  他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報とを照合する照合手段(図12のステップ(15),図13のステップ(11))とを有し、
 前記制御デバイスは、当該制御デバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御デバイス(100)。
 <H.利点>
 本実施の形態に係る制御システム1によれば、PLC100によってメモリカード300が受け入れられた際、当該PLC100以外の他のユニット200の各々によって実行される関連情報の照合結果が所定の条件を満たしたときに、メモリカード300に記憶されたデータのアクセスが有効になるため、着脱可能なメモリカード300におけるデータのアクセスに関してユーザの利便性を担保しながらセキュリティを高めることができる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、200 ユニット、2 ネットワーク、4 ローカルバス、100L,200L,300L リスト、102,402,1131,2161 プロセッサ、103,113 メモリカードインターフェース、104,404 メインメモリ、105 USBコネクタ、106,406,1132,2162 ストレージ、108,416 ネットワークコントローラ、130,418 プロセッサバス、140 制御プログラム、210 機能モジュール、220 ローカルバスコントローラ、300 メモリカード、400 サポート装置、408 入力部、410 表示部、412 光学ドライブ、414 記録媒体、450 画面、451 ユーザ情報欄、452 ユーザ認証方法欄、453 パスワード欄、454 照合方法欄、455 セキュリティ強度欄、456 適用範囲欄、1060 システムプログラム、1065,2150 リストア用プログラム、1130,2130 セキュリティユニット、1133,2163 メモリ、1134,1135 IOモジュール、1136 メモリカードコントローラ、1150 読込プログラム、1160,1360,2160 ユーザデータ、1170,1370,2170,3170 証明書データ、1180,1380,2180 識別データ、1331 データエリア、1332 セキュアエリア、1335 データ、1336 セキュリティコントローラ、4062 サポートプログラム。

Claims (9)

  1.  複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御システムであって、
     前記複数のデバイスに含まれかつデータを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、
     前記複数のデバイスに含まれる1または複数の第2のデバイスとを備え、
     前記複数のデバイスおよび前記記憶媒体の各メンバーは、
      前記各メンバーに関する関連情報を含むリストを保持する記憶領域と、
      他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合する照合手段とを有し、
     前記第1のデバイスは、当該第1のデバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御システム。
  2.  前記第1のデバイスは、秘匿化された専用のロジックを含む読込部を有しており、
     前記記憶媒体は、前記読込部からのみアクセス可能に構成されている、請求項1に記載の制御システム。
  3.  前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーを含み、
     前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する、請求項1または請求項2に記載の制御システム。
  4.  前記関連情報は、前記各メンバーの型式を含み、
     前記照合手段は、前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する、請求項1または請求項2に記載の制御システム。
  5.  前記デバイス群を支援するサポート装置を備え、
     前記関連情報は、前記各メンバーを個別に識別するシリアルナンバーと、前記各メンバーの型式とを含み、
     前記照合手段は、
      前記他のメンバー各々から取得した当該他のメンバー各々の前記シリアルナンバーに対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記シリアルナンバーを照合する第1の照合手段と、
      前記他のメンバー各々から取得した当該他のメンバー各々の前記型式に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記型式を照合する第2の照合手段とを含み、
     前記サポート装置は、前記第1の照合手段による照合および前記第2の照合手段による照合のいずれかを選択するためのユーザインターフェースを提供する、請求項1または請求項2に記載の制御システム。
  6.  前記デバイス群を支援するサポート装置を備え、
     前記サポート装置は、前記第1のデバイス以外の前記他のメンバーのうち、前記照合手段による照合対象となる前記メンバーの数を設定するためのユーザインターフェースを提供する、請求項1~請求項5のいずれか1項に記載の制御システム。
  7.  前記デバイス群を支援するサポート装置を備え、
     前記サポート装置は、前記メンバーの適用範囲を設定するためのユーザインターフェースを提供する、請求項1~請求項6のいずれか1項に記載の制御システム。
  8.  複数のデバイスが互いに通信可能に構成されたデバイス群におけるデータのアクセスを制御する制御方法であって、
     前記複数のデバイスには、データを記憶する記憶媒体を着脱可能に受け入れる第1のデバイスと、1または複数の第2のデバイスとが含まれ、
     前記複数のデバイスおよび前記記憶媒体の各メンバーは、前記各メンバーに関する関連情報を含むリストを保持する記憶領域を有し、
     前記制御方法は、
      前記各メンバーに、他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報を照合させるステップと、
      前記第1のデバイスに、当該第1のデバイス以外の前記他のメンバー各々による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にさせるステップとを含む、制御方法。
  9.  複数のデバイスが互いに通信可能に構成されたデバイス群に含まれかつデータのアクセスを制御する制御デバイスであって、
     前記データを記憶する記憶媒体を着脱可能に受け入れる受入部を備え、
     前記複数のデバイスおよび前記記憶媒体の各メンバーは、
      前記各メンバーに関する関連情報を含むリストを保持する記憶領域と、
      他のメンバー各々から取得した当該他のメンバー各々の前記関連情報に対して、前記記憶領域に保持された前記リストに含まれる当該他のメンバー各々の前記関連情報とを照合する照合手段とを有し、
     前記制御デバイスは、当該制御デバイス以外の前記他のメンバー各々の前記照合手段による照合結果が所定の条件を満たしたときに、前記記憶媒体に記憶されたデータのアクセスを有効にする、制御デバイス。
PCT/JP2020/005276 2019-03-14 2020-02-12 制御システム、制御方法、および制御デバイス WO2020184036A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202080017752.2A CN113518951A (zh) 2019-03-14 2020-02-12 控制系统、控制方法以及控制设备
EP20769699.8A EP3940470A4 (en) 2019-03-14 2020-02-12 CONTROL SYSTEM, CONTROL METHOD, AND CONTROL DEVICE
US17/434,189 US20220164464A1 (en) 2019-03-14 2020-02-12 Control system, method, and control device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019046799A JP2020149404A (ja) 2019-03-14 2019-03-14 制御システム、制御方法、および制御デバイス
JP2019-046799 2019-03-14

Publications (1)

Publication Number Publication Date
WO2020184036A1 true WO2020184036A1 (ja) 2020-09-17

Family

ID=72426378

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/005276 WO2020184036A1 (ja) 2019-03-14 2020-02-12 制御システム、制御方法、および制御デバイス

Country Status (5)

Country Link
US (1) US20220164464A1 (ja)
EP (1) EP3940470A4 (ja)
JP (1) JP2020149404A (ja)
CN (1) CN113518951A (ja)
WO (1) WO2020184036A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230308439A1 (en) * 2022-03-22 2023-09-28 Cisco Technology, Inc. Distributed hierarchical authentication of system component identities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099344A (ja) * 2000-07-14 2002-04-05 Mitsubishi Electric Corp プログラムの不正コピー検出方法及びプログラムの不正コピー検出装置並びにアプリケーションプログラムの記憶媒体及びネットワークプロトコル対応ユニットの記憶媒体
JP2004005389A (ja) * 2002-01-10 2004-01-08 Omron Corp ユニット及びplc並びにユーザプログラムの処理方法
JP2006106998A (ja) * 2004-10-04 2006-04-20 Yokogawa Electric Corp Plc構成モジュールのセーブ手段及びロード手段
JP2011215814A (ja) 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3389186B2 (ja) * 1999-04-27 2003-03-24 松下電器産業株式会社 半導体メモリカード及び読み出し装置
US20030018804A1 (en) * 2001-03-28 2003-01-23 Amruth Laxman Method and apparatus for deriving a standard MAC address from physical location
CN100347687C (zh) * 2003-03-18 2007-11-07 富士通株式会社 信息访问控制方法、访问控制程序和外部记录介质
KR20090033191A (ko) * 2006-07-07 2009-04-01 쌘디스크 코포레이션 메모리 디바이스로부터 공급된 정보를 제어하기 위한 시스템과 방법
US20110264688A1 (en) * 2010-04-26 2011-10-27 International Business Machines Corporation Peer to peer (p2p) data licensing model in a distributed abstract query environment
US20120331526A1 (en) * 2011-06-22 2012-12-27 TerraWi, Inc. Multi-level, hash-based device integrity checks
US9152534B2 (en) * 2012-11-16 2015-10-06 Tata Consultancy Services Limited System and method for validating configuration settings
JP6167532B2 (ja) * 2013-01-25 2017-07-26 オムロン株式会社 制御装置および制御装置の動作方法
JP6225065B2 (ja) * 2014-04-18 2017-11-01 日本電信電話株式会社 デバイス管理装置
US10657526B2 (en) * 2016-10-28 2020-05-19 International Business Machines Corporation System and method to dynamically setup a private sub-blockchain based on agility of transaction processing
US10164983B2 (en) * 2017-01-20 2018-12-25 Verizon Patent And Licensing Inc. Distributed authentication for internet-of-things resources
JP7147873B2 (ja) * 2019-01-07 2022-10-05 日本電気株式会社 情報処理装置、検証システムおよび情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002099344A (ja) * 2000-07-14 2002-04-05 Mitsubishi Electric Corp プログラムの不正コピー検出方法及びプログラムの不正コピー検出装置並びにアプリケーションプログラムの記憶媒体及びネットワークプロトコル対応ユニットの記憶媒体
JP2004005389A (ja) * 2002-01-10 2004-01-08 Omron Corp ユニット及びplc並びにユーザプログラムの処理方法
JP2006106998A (ja) * 2004-10-04 2006-04-20 Yokogawa Electric Corp Plc構成モジュールのセーブ手段及びロード手段
JP2011215814A (ja) 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット

Also Published As

Publication number Publication date
CN113518951A (zh) 2021-10-19
EP3940470A1 (en) 2022-01-19
EP3940470A4 (en) 2022-11-23
JP2020149404A (ja) 2020-09-17
US20220164464A1 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
US8707423B2 (en) Programmable display device, and control system
CA3030129C (en) Electronic credential management system
CN109313690A (zh) 自包含的加密引导策略验证
TWI435192B (zh) 控制裝置及管理裝置
CN101523399A (zh) 基于用户认证修改完整性度量的方法和系统
US9477194B2 (en) Image forming apparatus capable of limiting range of operation during maintenance, control method therefor, and storage medium
US9684783B2 (en) Self-authentication device and method
US20230069877A1 (en) Methods for restricting read access to supply chips
WO2020184036A1 (ja) 制御システム、制御方法、および制御デバイス
US20160277182A1 (en) Communication system and master apparatus
JP5013352B2 (ja) 情報生成システム及びその方法
JP6208492B2 (ja) 情報処理装置、情報処理方法、プログラム、及び情報処理システム
JP4757503B2 (ja) Macアドレスを有する着脱型デバイスを用いたライセンス認証システム及び方法
CN103198031A (zh) 信息处理装置及存储设备的使用限制的解除方法
JP3971754B2 (ja) 数値制御装置
JP7462860B1 (ja) プログラム可能機器、バージョン管理システム、バージョン管理方法及びプログラム
CN110149261B (zh) 检测作业网络架构与应用于其上的信息管控方法
WO2015194050A1 (ja) 産業機器生産システム、産業機器生産方法、プログラム、及び情報記憶媒体
US10657268B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium to verify validity of backup data
JP5928190B2 (ja) 認証システム及び認証方法
JPWO2019155531A1 (ja) プログラマブル表示器、システムおよび認証方法
JP2014225138A (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: 20769699

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2020769699

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2020769699

Country of ref document: EP

Effective date: 20211014