WO2020217741A1 - 認証ファイル作成装置、制御システム、プログラム、および制御方法 - Google Patents

認証ファイル作成装置、制御システム、プログラム、および制御方法 Download PDF

Info

Publication number
WO2020217741A1
WO2020217741A1 PCT/JP2020/010026 JP2020010026W WO2020217741A1 WO 2020217741 A1 WO2020217741 A1 WO 2020217741A1 JP 2020010026 W JP2020010026 W JP 2020010026W WO 2020217741 A1 WO2020217741 A1 WO 2020217741A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
authentication
mac address
authentication file
file
Prior art date
Application number
PCT/JP2020/010026
Other languages
English (en)
French (fr)
Inventor
尚樹 大原
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Publication of WO2020217741A1 publication Critical patent/WO2020217741A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to an authentication file creation device, a control system, a program, and a control method.
  • PLC Programmable Logic Controller
  • FA Vectory Automation
  • the PLC controls the target device based on a program created by a support tool or the like. Detection devices such as sensors and switches of the target device are connected to the input terminals of the PLC, and operating devices such as motors of the target device are connected to the output terminals of the PLC. Based on the created program, the PLC outputs an output signal corresponding to the input signal to the input terminal from the output terminal and controls the target device.
  • Patent Document 1 discloses a technique for preventing unauthorized use of a program used for controlling a PLC.
  • the program can be executed when the security code embedded in the user program and the security code obtained from the license file match.
  • An object of the present invention is to provide an authentication file creation device, a control system, a program, and a control method capable of easily preventing unauthorized use of a program.
  • the authentication file creation device is an authentication file creation device that creates an authentication file that enables the operation program to operate on a PLC that is subject to permission to use the operation program. It has an authentication file creation unit.
  • the authentication file creation unit creates an authentication file based on the information including the MAC address read from the PLC by the authentication program.
  • the MAC address read from the PLC subject to the license to use the driving program is automatically read, and an authentication file that enables the driving program to operate based on the MAC address is created. Therefore, it is not necessary to embed a different security code in the program for each customer, and it is possible to easily prevent unauthorized use of the driving program.
  • the authentication file creation device is the authentication file creation device according to the first invention, and the information including the MAC address is encrypted.
  • the authentication file creation device further includes a decoding unit that decodes information including a MAC address.
  • the control system includes the authentication file creation device of the first or second invention and the program creation device.
  • the program creation device has an authentication program for reading the MAC address of the PLC and an input unit capable of creating an operation program. As a result, it is possible to create an authentication program that can automatically read the MAC address from the PLC that is subject to the permission to use the operation program.
  • the control system according to the fourth invention is the control system according to the third invention, further including a backup creation device.
  • the backup creation device has a connection unit to which a recording medium can be connected, and backs up the authentication program and the operation program on the recording medium without restoration information.
  • the program creation device has a transfer unit capable of transferring the authentication program and the operation program to the backup creation device without restoration information. In this way, by backing up to the recording medium without the restoration information, it is possible to prevent the sources of the authentication program and the operation program from being disclosed to the outside.
  • the control system according to the fifth invention is the control system according to the fourth invention, further comprising a PLC.
  • the PLC has a connection unit to which a recording medium can be connected, and restores an authentication program and an operation program recorded on the recording medium.
  • the PLC in which the authentication program is restored has an authentication comparison unit that compares the MAC address of the PLC with the MAC address of the acquired authentication file and starts the operation program in the same case. In this way, since the authentication program and the operation program are restored to the PLC via the recording medium, the authentication program and the operation program can be transferred without using other tools.
  • the program according to the sixth invention causes the PLC, which is the object of permission to use the operation program, to execute the read step, the comparison step, and the start step.
  • the read step reads the MAC address of the PLC.
  • the comparison step compares the MAC address contained in the authentication file with the read MAC address.
  • the start-up step makes the operation executable when the MAC address of the authentication file and the read MAC address are the same. In this way, the MAC address of the PLC that is the target of permission to use the driving program is automatically read, and an authentication file that enables the driving program to operate based on the MAC address is created. Therefore, it is not necessary to embed a different security code in the program for each customer, and it is possible to easily prevent unauthorized use of the driving program.
  • the program according to the seventh invention is the program according to the sixth invention, and further executes an encryption file creation step for encrypting the read MAC address.
  • an encryption file creation step for encrypting the read MAC address.
  • the control method according to the eighth invention is a control method that enables the operation program to be operated by the PLC that is the object of permission to use the operation program, and includes a read step and a comparison step.
  • the read step reads the MAC address from the target PLC.
  • the comparison step compares the read MAC address with the MAC address included in the acquired authentication file, and starts the operation program in the same case. In this way, the MAC address of the PLC subject to the permission to use the driving program is read, and the authentication file that enables the driving program to operate based on the MAC address is created. Therefore, it is not necessary to embed a security code in the program for each customer, and it is possible to easily prevent unauthorized use of the driving program.
  • the control method according to the ninth invention is the control method according to the eighth invention, further including an encryption step for encrypting the read MAC address.
  • the control method according to the tenth invention is the control method according to the eighth or ninth invention, and further includes an authentication file creation step of creating an authentication file using the read MAC address. As a result, it is possible to create an authentication file for operating the PLC subject to the license to use the driving program.
  • the control method according to the eleventh invention is the control method according to the eighth invention, and includes a program creation step, a backup creation step, and a restore step.
  • the program creation step creates an operation program and an authentication program that executes the read step.
  • the backup creation step creates a backup of the operating and authentication programs without restore information.
  • the restore step restores the backed up operation program and authentication program to the target PLC.
  • the authentication program and the operation program can be backed up without the restoration information, and the program can be restored in the target PLC so that the sources of the authentication program and the operation program are not disclosed to the outside. it can.
  • an authentication file creation device a control system, a program, and a control method capable of easily preventing unauthorized use of the program.
  • the block diagram which shows the hardware structure of the control system in embodiment which concerns on this invention.
  • C A block diagram showing a state in which a backup file is stored in a recording medium stored in the card slot of the device controller of FIG. 1, and (d) a program stored in the storage of the device controller of FIG. Block Diagram.
  • FIG. 1 A block diagram showing the functional configuration of the authentication file creation terminal of FIG. 1, and (d) a block diagram showing a state in which the authentication file is stored in the recording medium stored in the card slot of the controller for the device of FIG.
  • the sequence diagram which shows the operation flow of the control system in embodiment which concerns on this invention.
  • the flow chart which shows the operation flow of the control system of this embodiment.
  • the flow chart which shows the operation flow of the control system of this embodiment.
  • FIG. 1 is a diagram showing a hardware configuration of the control system 1 according to the embodiment of the present invention.
  • the control system 1 permits the device controller, which is the subject of the license to use the developed driver program, to use the driver program, and prevents unauthorized use of the driver program by the controller of the device, which is not subject to the license. To do.
  • the control system 1 includes a development tool 10 (an example of a program creation device), a development controller 20 (an example of a backup creation device), a controller 30 for the device (an example of PLC), and an authentication file creation terminal 40 (an authentication file creation). (Example of device) and.
  • the control system 1 is developed by a development maker equipped with a development tool 10, a development controller 20, and an authentication file creation terminal 40 with the development tool 10 and the development controller 20 for a user having the device controller 30. It is a system that authenticates when the user program for driving is used.
  • the development tool 10 is, for example, a PC (Personal Computer), and is a tool for a developer to develop a program to be operated by a development controller 20 which is a PLC (Programmable Logic Controller).
  • a program of the development controller 20 is created in the ladder language (ladder logic).
  • the development tool 10 includes a processor 11, a memory 12, a storage 13, an input unit 14, a display unit 15, and a transmission unit 16 (an example of a transfer unit).
  • the processor 11 expands and executes the development support program stored in the storage 13 on the memory 12.
  • the input unit 14 is, for example, a keyboard or the like, and input is performed by an operator when creating a user program P10 in a ladder language.
  • the display unit 15 is, for example, a display, and displays when the user program P10 is created in the ladder language.
  • the created user program P10 is stored in the storage 13.
  • the transmission unit 16 transmits the created user program P10 to the development controller 20 without restoration information.
  • Sending without restore information means sending the compiled user program P10 without decompile information. By not sending the decompile information, the user program P10 cannot be decompiled and can not be displayed in the ladder language. Therefore, only the development maker who uses the development tool 10 can see the program source of the user program P10. Can not.
  • the user program P10 stored in the storage 13 includes an authentication user program P11 (an example of an authentication program) and an operation user program P12 (an example of an operation program). ) And the setting information P13.
  • the authentication user program P11 is a program that executes an operation of acquiring the MAC address (Media Access Control address) of the Ethernet / IP port 35 of the device controller 30, which is a PLC, as described later.
  • the operation user program P12 is a program that operates the device controller 30 to control the FA device.
  • the driving user program P12 acquires, for example, the detected values of detection devices such as sensors and switches, and controls the operation of operating devices such as motors according to the detected values.
  • the setting information P13 includes information such as a connection position in the controllers (development controller 20 and device controller 30) of the detection device and the operating device.
  • the development controller 20 is used together with the development tool 10 to develop a program used for controlling an FA device.
  • the development controller 20 is a PLC as described above, and the program created by the development tool 10 is compiled and transmitted. By connecting to the FA device, the development controller 20 can execute the program created by the development tool 10 to control the FA device. Thereby, for example, the FA device can be connected to the development controller 20, the program created by the development tool 10 can be executed by the development controller 20, and the program can be developed while actually controlling the FA device. ..
  • the development controller 20 includes a processor 21, a memory 22, a storage 23, a receiving unit 24, and a card slot 25 (an example of a connecting unit).
  • the receiving unit 24 receives the user program P10 (authentication user program P11, driving user program P12, and setting information P13) transmitted from the transmitting unit 16 of the development tool 10.
  • the storage 23 stores the received user program P10 (authentication user program P11, driving user program P12, and setting information P13).
  • the processor 21 expands and executes the user program P10 (authentication user program P11, operation user program P12, and setting information P13) stored in the storage 23 in the memory 22.
  • a recording medium 51 such as an SD card can be stored in the card slot 25.
  • the backup file BF of the user program P10 stored in the storage 23 can be stored in the recording medium 51 stored in the card slot 25.
  • the recording medium 51 is not limited to the SD card, and may be a CD, DVD, MicroSD, USB, or the like, as long as the file can be saved.
  • the backup may be saved in the recording medium 51 by setting a DIP switch, or may be automatically saved by inserting the recording medium 51 into the card slot 25. Further, the development tool 10 may be used to perform an operation of saving a backup of the program on the recording medium 51, or a separate operation unit such as a touch panel is connected to the development controller 20 and the operation unit is transferred to the recording medium 51 of the backup file BF. May be saved.
  • the backup file BF stored in the recording medium 51 is sent to the user who owns or plans to own the controller 30 for the device.
  • the backup file BF stored in the recording medium 51 may be sent to the user from a PC or the like via the Internet.
  • the user of the controller 30 for the device saves the backup file BF received by the PC or the like on the recording medium 52.
  • the device controller 30 is a PLC and is used for controlling FA equipment. It is preferable that the device controller 30 is of the same model as the development controller 20.
  • the device controller 30 includes a processor 31, a memory 32, a storage 33, a card slot 34, an Ethernet / IP port 35, and an operation unit 36.
  • the restore program P20 is stored in the storage 33.
  • a recording medium 52 which is an SD card, for example, is stored in the card slot 34.
  • the backup file BF is stored in the recording medium 52.
  • the backup file BF stored in the recording medium 52 is restored to the device controller 30 by the restore program P20.
  • the authentication user program P11, the operation user program P12, and the setting information P13 from which the backup file BF has been restored are stored in the storage 33 as shown in FIG. 2D.
  • the processor 31 expands the restore program P20 and the user program P10 stored in the storage 33 into the memory 32 and executes them.
  • the Ethernet / IP port 35 is used when connecting another device or the like.
  • the operation unit 36 is a touch panel or the like, and is operated when creating an operation information file and when authenticating, which will be described later.
  • the operation unit 36 may not be provided in particular, and may be performed by setting a DIP switch, or may be performed automatically by inserting the recording medium 52 into the card slot 34.
  • FIG. 3A is a block diagram showing a functional configuration of the device controller 30.
  • the processor 31 by expanding the user program P10 and the restore program P20 into the memory 32, the processor 31 includes the restore unit 60, the MAC address read unit 61, and the encrypted file creation unit 62. , An authentication file comparison unit 63 (an example of an authentication comparison unit), and an operation unit 64.
  • the restore unit 60 restores the user program P10 stored in the recording medium 52 housed in the card slot 34 to the device controller 30.
  • the MAC address reading unit 61 reads the MAC address of the Ethernet / IP port 35 of the restored device controller 30.
  • the MAC address reading unit 61 stores the read MAC address in a variable.
  • the encryption file creation unit 62 encrypts the read MAC address to create a device information file MF, and stores it in the recording medium 52. More specifically, the encryption file creation unit 62 reads the variable storing the MAC address, creates a ciphertext that cannot be recognized as the MAC address, and stores it in the variable. The created ciphertext variables are saved as a device information file MF on the recording medium 52. As shown in FIG. 3B, the device information file MF is stored in the recording medium 52 stored in the card slot 34.
  • the recording medium 52 may be the same as the recording medium in which the backup file BF is stored, or may be different.
  • the device information file MF stored in the recording medium 52 is sent to the authentication file creation terminal 40.
  • the device information file MF stored in the recording medium 52 may be sent from a PC or the like to the receiving unit 46 of the authentication file creation terminal 40 via the Internet.
  • the authentication file AF (also referred to as an activation file) is created from the device information file MF in the authentication file creation terminal 40, the authentication file AF is sent to the user, and the device information file MF is recorded by the user as the recording medium 52. It is saved in.
  • the authentication file comparison unit 63 compares whether the MAC address included in the authentication file AF and the MAC address read from the MAC address reading unit 61 are the same, and if they are the same, activates the operation user program P12 to activate the operation unit. It functions as 64 to control FA equipment. More specifically, the authentication file comparison unit 63 reads the authentication file AF stored in the recording medium 52 and stores it in a variable as authentication information. Next, the authentication file comparison unit 63 decodes the variable of the authentication information, extracts the MAC address, and stores it in the variable as the authentication MAC address. Next, the authentication file comparison unit 63 compares whether the authentication MAC address and the MAC address read by the MAC address reading unit 61 match, and if they match, starts the operation user program P12.
  • the processor 31 expands the driving user program P12 into the memory 32 and functions as the driving unit 64.
  • the operation unit 64 controls the FA device connected to the device controller 30 according to the created operation user program P12.
  • the authentication file creation terminal 40 is, for example, a PC or the like, and includes a processor 41, a memory 42, a storage 43, an input unit 44 (an example of an input unit), a display unit 45, a receiving unit 46, and a transmitting unit 47. And have.
  • the storage 43 stores an authentication file creation program for creating the authentication file AF, an encryption key, and the like.
  • the processor 41 expands and executes the authentication file creation program stored in the storage 43 on the memory 42.
  • the input unit 44 is, for example, a keyboard or the like, and an operation for creating the authentication file AF is input.
  • the display unit 15 is, for example, a display, and displays the authentication file AF when it is created.
  • the receiving unit 46 receives the device information file MF created by the device controller 30.
  • the transmission unit 47 transmits the authentication file AF created based on the device information file MF to the user of the device controller 30.
  • the transmission unit 47 can transmit to a PC owned by the user of the device controller 30 via the Internet.
  • FIG. 3C is a block diagram showing a functional configuration of the authentication file creation terminal 40.
  • the authentication file creation terminal 40 has an encrypted file decryption unit 48 (an example of a decryption unit) and an authentication file creation unit 49.
  • the processor 41 functions as an encrypted file decryption unit 48 and an authentication file creation unit 49.
  • the encrypted file decryption unit 48 decrypts the device information file MF created by being encrypted by the device controller 30, and acquires the MAC address.
  • the authentication file creation unit 49 encrypts the acquired MAC address and creates an authentication file.
  • the created authentication file AF is transmitted from the transmission unit 47 to the user of the device controller 30.
  • the transmitted authentication file AF is stored in the recording medium 51 by the user and read into the device controller 30 as shown in FIG. 3D. Then, the authentication file comparison unit 63 decodes the authentication file AF, compares the MAC address included in the authentication file AF with its own MAC address read by the MAC address reading unit 61, and in the same case, the operation unit. 64 can be operated.
  • the encryption key for decrypting the authentication file AF is incorporated in the user program P10, and the encryption for creating the device information file MF is also incorporated in the user program P10.
  • the user program P10 was developed. Created by the manufacturer. Further, the authentication file creation terminal 40 performs decryption processing of the device information file MF and encryption of the authentication file AF. In this way, the encryption and decryption processing is performed according to the settings on the development manufacturer side.
  • FIG. 4 is a sequence diagram showing an operation flow of the control system 1 of the present embodiment.
  • 5 and 6 are flow charts showing an operation flow of the control system 1 of the present embodiment.
  • step S10 an example of a program creation step
  • a user program P10 including an authentication user program P11, an operation user program P12, and setting information P13 is created in a ladder language using the development tool 10.
  • step S11 the user program P10 is transferred from the development tool 10 to the development controller 20 without restoration information.
  • step S12 the user program P10 without the transferred restoration information is installed in the development controller 20.
  • step S13 the operation of creating a backup file of the user program P10 is performed using the development tool 10.
  • step S14 an example of the backup creation step
  • the backup file BF is created and saved in the recording medium 51 stored in the card slot 25 of the development controller 20 by the operation of step S13.
  • step S15 the backup file BF sent to the user via the Internet by e-mail or the like is stored in the recording medium 52 by the user, and the recording medium 52 storing the backup file BF is the card slot 34 of the controller 30 for the device.
  • step S16 an example of the restore step
  • the user program P10 is restored from the backup file BF to the device controller 30 by using the restore function by the restore unit 60 of the device controller 30.
  • step S17 an example of the read step
  • the MAC address read unit 61 acquires the MAC address of its own Ethernet / IP port 35.
  • step S18 an example of the encryption step
  • the encryption file creation unit 62 encrypts the acquired MAC address and saves it on the recording medium 52 as a device information file MF.
  • FIG. 7A is a diagram showing a device information file creation screen which is an example displayed on the operation screen 36a of the operation unit 36. As shown in FIG. 7A, by pressing the “File Create” switch 36b, the device information file MF (Machine.dat file) can be created on the SD card which is an example of the recording medium 52.
  • the created device information file MF is sent from the user of the device controller 30 to the authentication file creation terminal 40 of the development maker via the Internet by e-mail or the like.
  • the encrypted file decryption unit 48 of the authentication file creation terminal 40 performs a MAC address decryption process from the received device information file MF.
  • step S20 an example of the authentication file creation step
  • the authentication file creation unit 49 of the authentication file creation terminal 40 encrypts the combined MAC address and creates the authentication file AF.
  • step S20 is described separately for the encryption process in step S201 and the authentication file creation process in step S202.
  • the created authentication file AF is sent from the authentication file creation terminal 40 to the user of the device controller 30 via the Internet by e-mail or the like.
  • the user saves the sent authentication file AF in the recording medium 52.
  • step S21 the authentication file AF stored in the recording medium 52 by the user of the device controller 30 is read out by the authentication file comparison unit 63.
  • step S22 an example of the comparison step
  • the authentication file comparison unit 63 of the device controller 30 decrypts the authentication file AF and acquires the MAC address.
  • step S23 the authentication file comparison unit 63 compares the MAC address acquired from the authentication file AF with its own MAC address acquired in step S17.
  • step S24 if the MAC address acquired from the authentication file AF and the own MAC address acquired in step S17 match, the control proceeds to step S25.
  • step S25 an example of an activation step
  • the authentication file comparison unit 63 permits the operation unit 64 to be executed, and the device controller 30 can be operated.
  • steps S23, S24, and S25 are collectively shown as an operation program activation process.
  • step S24 if they do not match, the control ends without permitting the execution of the operation unit 64.
  • FIG. 7B is a diagram showing an authentication screen displayed on the operation screen 36a of the operation unit 36.
  • the authentication file AF is stored in the SD card, which is an example of the recording medium 52, and then the SD card is inserted into the card slot 34, and the “Activation” switch 36c is inserted.
  • steps S21 to S25 are executed.
  • authentication is performed by comparing MAC addresses each time the power of the device controller 30 is turned on.
  • the MAC address of the device controller 30 is automatically read out, and the authentication file AF that enables the operation user program P12 to operate based on the MAC address is created. Therefore, it is not necessary to embed a different security code in the program for each customer, and it is possible to easily prevent unauthorized use of the driving program. Further, since the information including the MAC address sent to the authentication file creation terminal 40 is encrypted, the authentication file AF is created based on the MAC address for the worker who operates the device controller 30. Can be kept secret.
  • the MAC address is automatically read from the target device controller 30 by creating the authentication user program P11 for reading the MAC address of the device controller 30 and the operation user program P12. Is possible. Further, by backing up the user program P10 to the recording medium 51 without the restoration information, the source of the user program P10 can be prevented from being disclosed to the outside. Further, since the user program P10 is restored to the device controller 30 via the recording medium 52, the transfer of the user program P10 can be performed without using another tool.
  • the backup file BF stored in the recording medium 51 may be sent to the user from a PC or the like via the Internet, but the present invention is not limited to this.
  • the recording medium 51 in which the backup file BF is stored may be sent by mail, or may be carried and delivered to the user. If a PC is used for the development tool 10, the development tool 10 may send it to the user via the Internet.
  • the device information file MF stored in the recording medium 52 may be sent from a PC or the like to the receiving unit 46 of the authentication file creation terminal 50 via the Internet, but the present invention is limited to this. It's not a thing.
  • the recording medium 52 may be sent by mail, or may be carried and delivered to the development maker.
  • the authentication file creation terminal 40 may include a card slot.
  • the authentication file creation terminal 50 does not have to include only the card slot and the receiving unit 46. In short, it is only necessary to be able to save the device information file MF in the storage 43 of the authentication file creation terminal 40.
  • the authentication file AF is transmitted from the authentication file creation terminal 40 to the user of the device controller 30 via the Internet by e-mail or the like, but the present invention is not limited to this, and the authentication file AF is not limited to this. May be stored in a recording medium and the recording medium may be mailed or carried. In short, it suffices only if the authentication file AF can be stored in the recording medium 52 connected to the card slot 34 of the device controller 30.
  • the development tool 10 and the authentication file creation terminal 40 are provided as separate PCs, but they may be the same PC.
  • the development support program used in the development tool 10 may be used in the PC used as the authentication file creation terminal 40. In that case, the authentication file creation terminal 40 does not have to use the development support program.
  • the authentication file creation program used in the authentication file creation terminal 40 may be used in the PC used as the development tool 10. In that case, the development tool 10 does not have to use the authentication file creation program.
  • the development maker includes the development tool 10, the development controller 20, and the authentication file creation terminal 40, but the present invention is not limited to this, and for example, the authentication file creation terminal 40 is a development maker. It may be owned by another different company or individual. Further, the person who owns the authentication file creation terminal 40 may obtain a license fee from the user.
  • the device controller 30 acquires the authentication file AF via the recording medium 52, but the present invention is not limited to this.
  • an encrypted sequence containing MAC address information may be input from the operation unit 36.
  • the device controller 30 only needs to be able to acquire the encrypted MAC address.
  • control system for controlling FA equipment has been described as an example, but the present invention is not limited to this, and may be used for a plant, a building automation system, or the like.
  • one usage pattern of the program may be a mode in which the program is recorded on a recording medium such as a ROM that can be read by a computer and operates in cooperation with the computer, and one usage pattern of the program is the Internet or the like. It may be a mode in which the transmission medium, the transmission medium such as light, radio wave, and sound wave is transmitted, read by a computer, and operated in cooperation with the computer.
  • the computer described above is not limited to hardware such as a CPU (Central Processing Unit), and may include firmware, an OS, and peripheral devices.
  • the power consumption body control method may be realized by software or hardware.
  • the authentication file creation device of the present invention has an effect of easily preventing unauthorized use of a program, and is useful as, for example, a control system using a PLC.
  • Device controller 40 Authentication file creation terminal 49: Authentication file creation unit P11: Authentication user program P12: Operation user program AF: Authentication file

Abstract

認証ファイル作成端末(40)は、対象となる装置用コントローラ(30)で運転用ユーザプログラム(P12)を動作可能とする認証ファイル(AF)を作成する認証ファイル作成端末であって、認証ファイル作成部(49)を備える。認証ファイル作成部(49)は、装置用コントローラ(30)から認証用ユーザプログラム(P11)によって読み出されたMACアドレスを含む情報に基づいて認証ファイル(AF)を作成する。

Description

認証ファイル作成装置、制御システム、プログラム、および制御方法
 本発明は、認証ファイル作成装置、制御システム、プログラム、および制御方法に関する。
 従来、FA(Factory Automation)システムにおいて、PLC(Programmable Logic Controller)が用いられている。PLCは、支援ツール等によって作成されたプログラムに基づいて対象装置の制御を行う。対象装置のセンサやスイッチ等の検出機器がPLCの入力端子に接続され、対象装置のモータ等の動作機器がPLCの出力端子に接続される。PLCは、作成されたプログラムに基づいて、入力端子への入力信号に応じた出力信号を出力端子から出力し、対象装置の制御を行う。
 このようなPLCの制御に用いられるプログラムの不正使用を防止する技術が、例えば特許文献1に開示されている。
 特許文献1の制御システムでは、ユーザプログラムに埋め込んだセキュリティコードと、ライセンスファイルから取得したセキュリティコードが一致した場合にプログラムが実行可能となる。
特許第5900143号公報
 しかしながら、引用文献1の制御システムでは、プログラムの使用を許可する客先ごとに異なるセキュリティコードを埋め込む必要があるため手間がかかる。また、複数の客先に対してセキュリティコードを設定するため、誤って同じセキュリティコードを埋め込むことも考えられる。
 本発明は、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することを目的とする。
 上記目的を達成するために、第1の発明にかかる認証ファイル作成装置は、運転用プログラムの使用許可の対象であるPLCで運転用プログラムを動作可能とする認証ファイルを作成する認証ファイル作成装置であって、認証ファイル作成部を備える。認証ファイル作成部は、PLCから認証用プログラムによって読み出されたMACアドレスを含む情報に基づいて認証ファイルを作成する。
 このように、運転用プログラムの使用許可の対象となるPLCから読み出されたMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
 第2の発明にかかる認証ファイル作成装置は、第1の発明にかかる認証ファイル作成装置であって、MACアドレスを含む情報は暗号化されている。認証ファイル作成装置は、MACアドレスを含む情報を復号する復号部を更に備える。
 これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
 第3の発明にかかる制御システムは、第1または第2の発明の認証ファイル作成装置と、プログラム作成装置と、を備える。プログラム作成装置は、PLCのMACアドレスを読み出す認証用プログラムと、運転用プログラムを作成可能な入力部を有する。
 これにより、運転用プログラムの使用許可の対象となるPLCから自動的にMACアドレスを読み出すことが可能な認証用プログラムを作成することができる。
 第4の発明にかかる制御システムは、第3の発明にかかる制御システムであって、バックアップ作成装置を更に備える。バックアップ作成装置は、記録媒体を接続可能な接続部を有し、復元情報なしで認証用プログラムと運転用プログラムのバックアップを記録媒体に行う。プログラム作成装置は、認証用プログラムおよび運転用プログラムをバックアップ作成装置に復元情報なしで転送可能な転送部を有する。
 このように、復元情報なしでバックアップを記録媒体に行うことによって、認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
 第5の発明にかかる制御システムは、第4の発明にかかる制御システムであって、PLCを更に備える。PLCは、記録媒体を接続可能な接続部を有し、記録媒体に記録された認証用プログラムおよび運転用プログラムをリストアする。認証用プログラムがリストアされたPLCは、PLCのMACアドレスと、取得した認証ファイルのMACアドレスを比較して同じ場合に運転用プログラムを起動させる認証比較部を有する。
 このように、記録媒体を介して認証用プログラムと運転用プログラムをPLCにリストアするため、認証用プログラムと運転用プログラムの転送を他のツールを用いる必要なく行うことができる。
 第6の発明にかかるプログラムは、運転用プログラムの使用許可の対象であるPLCに、読み出しステップと、比較ステップと、起動ステップと、を実行させる。読み出しステップは、PLCのMACアドレスを読み出す。比較ステップは、認証ファイルに含まれるMACアドレスと、読み出したMACアドレスを比較する。起動ステップは、認証ファイルのMACアドレスと読み出したMACアドレスが同じ場合に運転を実行可能な状態にする。
 このように、運転用プログラムの使用許可の対象となるPLCのMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
 第7の発明にかかるプログラムは、第6の発明にかかるプログラムであって、読み出したMACアドレスを暗号化する暗号化ファイル作成ステップを更に実行させる。
 これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
 第8の発明にかかる制御方法は、運転用プログラムの使用許可の対象であるPLCで運転用プログラムを動作可能とする制御方法であって、読み出しステップと、比較ステップとを備える。読み出しステップは、対象PLCからMACアドレスを読み出す。比較ステップは、読み出したMACアドレスと、取得した認証ファイルに含まれるMACアドレスを比較して同じ場合に運転用プログラムを起動する。
 このように、運転用プログラムの使用許可の対象となるPLCのMACアドレスを読み出して、MACアドレスに基づいて運転用プログラムを動作可能とする認証ファイルが作成される。このため、客先ごとにプログラムにセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
 第9の発明にかかる制御方法は、第8の発明にかかる制御方法であって、読み出したMACアドレスを暗号化する暗号化ステップを更に備える。
 これにより、運転用プログラムの使用許可の対象となるPLCを使用するユーザに対して認証ファイルがMACアドレスに基づいて作成されることを秘密にすることができる。
 第10の発明にかかる制御方法は、第8または9の発明にかかる制御方法であって、読み出したMACアドレスを用いて認証ファイルを作成する認証ファイル作成ステップを更に備える。
 これにより、運転用プログラムの使用許可の対象となるPLCを動作させるための認証ファイルを作成することができる。
 第11の発明にかかる制御方法は、第8の発明にかかる制御方法であって、プログラム作成ステップと、バックアップ作成ステップと、リストアステップと、を備える。プログラム作成ステップは、運転用プログラムと読み出しステップを実行する認証用プログラムとを作成する。バックアップ作成ステップは、運転用プログラムと認証用プログラムを復元情報なしでバックアップを作成する。リストアステップは、バックアップされた運転用プログラムと認証用プログラムを対象PLCにリストアする。
 このように、復元情報なしで認証用プログラムと運転用プログラムのバックアップを行い、そのプログラムを対象のPLCにおいてリストアすることによって認証用プログラムと運転用プログラムのソースが外部に開示されないようにすることができる。
 本発明によれば、容易にプログラムの不正使用を防止することが可能な認証ファイル作成装置、制御システム、プログラム、および制御方法を提供することができる。
本発明にかかる実施の形態における制御システムのハード構成を示すブロック図。 (a)図1の開発ツールのストレージに保存されるプログラムを示すブロック図、(b)図1の開発用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、(c)図1の装置用コントローラのカードスロットに収納された記録媒体にバックアップファイルが保存された状態を示すブロック図、(d)図1の装置用コントローラのストレージに保存されたプログラムを示すブロック図。 (a)図1の装置用コントローラの機能的構成を示すブロック図、(b)図1の装置用コントローラのカードスロットに収納された記録媒体に装置情報ファイルが保存された状態を示すブロック図、(c)図1の認証ファイル作成端末の機能的構成を示すブロック図、(d)図1の装置用コントローラのカードスロットに収納された記録媒体に認証ファイルが保存された状態を示すブロック図。 本発明にかかる実施の形態における制御システムの動作の流れを示すシーケンス図。 本実施の形態の制御システムの動作の流れを示すフロー図。 本実施の形態の制御システムの動作の流れを示すフロー図。 (a)図1の装置用コントローラの操作部の操作画面に表示される装置情報ファイル作成画面を示す図、(b)図1の装置用コントローラの操作部の操作画面に表示される認証画面を示す図。
 以下に、本発明の実施の形態に係る制御システムについて図面に基づいて説明する。
 <構成>
 (制御システム1の概要)
 図1は、本発明にかかる実施の形態の制御システム1のハードウェア構成を示す図である。制御システム1は、開発した運転用ユーザプログラムの使用許可の対象である装置用コントローラに運転用ユーザプログラムの使用を許可し、使用許可の対象としない装置用コントローラによる運転用プログラムの不正使用を防止する。
 制御システム1は、開発ツール10(プログラム作成装置の一例)と、開発用コントローラ20(バックアップ作成装置の一例)と、装置用コントローラ30(PLCの一例)と、認証ファイル作成端末40(認証ファイル作成装置の一例)と、を備える。
 制御システム1は、一例として、開発ツール10と、開発用コントローラ20と、認証ファイル作成端末40を備えた開発メーカが、装置用コントローラ30を有するユーザに、開発ツール10および開発用コントローラ20で開発した運転用ユーザプログラムを使用させる際に認証を行うシステムである。
 (開発ツール)
 開発ツール10は、例えばPC(Personal Computer)であり、開発者が、PLC(Programmable Logic Controller)である開発用コントローラ20で運転するプログラムを開発するツールである。開発ツール10では、ラダー言語(ラダーロジック)で開発用コントローラ20のプログラムを作成する。
 開発ツール10は、プロセッサ11と、メモリ12と、ストレージ13と、入力部14と、表示部15と、送信部16(転送部の一例)と、を有する。プロセッサ11は、ストレージ13に保存されている開発支援プログラムをメモリ12上に展開して実行する。
 入力部14は、例えばキーボードなどであり、ラダー言語でユーザプログラムP10を作成する際に作業者によって入力が行われる。表示部15は、例えばディスプレイであって、ラダー言語でユーザプログラムP10を作成する際に表示を行う。
 ストレージ13には、作成したユーザプログラムP10が保存される。送信部16は、作成したユーザプログラムP10を復元情報なしで開発用コントローラ20に送信する。復元情報なしで送信するとは、コンパイルされたユーザプログラムP10をデコンパイル情報なしで送信することである。デコンパイル情報を送信しないことによって、ユーザプログラムP10をデコンパイルできずラダー言語での表示を行うことができなくなるため、開発ツール10を使用する開発メーカ以外がユーザプログラムP10のプログラムソースを見ることが出来ない。
 ここで、ストレージ13に保存されるユーザプログラムP10には、図2(a)に示すように、認証用ユーザプログラムP11(認証用プログラムの一例)と、運転用ユーザプログラムP12(運転用プログラムの一例)と、設定情報P13とが含まれる。認証用ユーザプログラムP11は、後述するようにPLCである装置用コントローラ30のEthernet/IPポート35のMACアドレス(Media Access Control address)を取得する動作を実行するプログラムである。運転用ユーザプログラムP12は、装置用コントローラ30を動作させてFA機器の制御を行うプログラムである。運転用ユーザプログラムP12は、例えばセンサやスイッチ等の検出機器の検出値を取得し、検出値に応じてモータ等の動作機器を動作させるといった制御を行う。
 設定情報P13は、検出機器と動作機器のコントローラ(開発用コントローラ20および装置用コントローラ30)における接続位置などの情報を含む。
 (開発用コントローラ)
 開発用コントローラ20は、開発ツール10とともにFA機器の制御に用いられるプログラムを開発するために用いられる。
 開発用コントローラ20は、上述したようにPLCであり、開発ツール10で作成されたプログラムがコンパイルされて送信される。なお、開発用コントローラ20は、FA機器に接続することにより開発ツール10によって作成されたプログラムを実行してFA機器を制御することができる。
 これにより、例えば、開発用コントローラ20にFA機器を接続し、開発ツール10で作成されたプログラムを開発用コントローラ20で実行してFA機器の制御を実際に行いながらプログラムの開発を行うことができる。
 開発用コントローラ20は、プロセッサ21と、メモリ22と、ストレージ23と、受信部24と、カードスロット25(接続部の一例)と、を備える。
 受信部24は、開発ツール10の送信部16から送信されたユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)を受信する。
 ストレージ23は、受信したユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)を保存する。
 プロセッサ21は、ストレージ23に保存されたユーザプログラムP10(認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13)をメモリ22に展開して実行する。
 カードスロット25には、SDカード等の記録媒体51が収納可能である。カードスロット25に収納された記録媒体51に、図2(b)に示すように、ストレージ23に保存されたユーザプログラムP10のバックアップファイルBFを保存することができる。なお、記録媒体51はSDカードに限らなくても良く、CD、DVD、MicroSD、USB等であってもよく、ファイルを保存できさえすればよい。
 バックアップの記録媒体51への保存は、ディップスイッチを設定することによって行ってもよいし、記録媒体51をカードスロット25に挿入することによって自動で行われてもよい。また、開発ツール10によって記録媒体51にプログラムのバックアップを保存する操作を行ってもよいし、別途タッチパネルなどの操作部を開発用コントローラ20に接続して操作部からバックアップファイルBFの記録媒体51への保存を行ってもよい。
 記録媒体51に保存されたバックアップファイルBFは、装置用コントローラ30を所有または所有する予定のユーザに送付される。送付の方法としては、記録媒体51に保存されているバックアップファイルBFを、PC等からインターネット経由でユーザに送付してもよい。
 装置用コントローラ30のユーザは、PC等によって受信した上記バックアップファイルBFを記録媒体52に保存する。
 (装置用コントローラ)
 装置用コントローラ30は、PLCであり、FA機器の制御に用いられる。装置用コントローラ30は開発用コントローラ20と同機種であるほうが好ましい。
 装置用コントローラ30は、プロセッサ31と、メモリ32と、ストレージ33と、カードスロット34と、Ethernet/IPポート35と、操作部36と、を備える。
 ストレージ33には、図2(d)に示すようにリストア用プログラムP20が保存されている。
 カードスロット34には、例えばSDカードである記録媒体52が収納される。図2(c)に示すように、記録媒体52には、バックアップファイルBFが保存されている。記録媒体52に保存されているバックアップファイルBFが、リストア用プログラムP20によって装置用コントローラ30にリストアされる。バックアップファイルBFがリストアされた認証用ユーザプログラムP11、運転用ユーザプログラムP12および設定情報P13は、図2(d)に示すように、ストレージ33に保存される。
 プロセッサ31は、ストレージ33に保存されたリストア用プログラムP20およびユーザプログラムP10をメモリ32に展開して実行する。
 Ethernet/IPポート35は、他の機器を接続する場合等に用いられる。
 操作部36は、開発用コントローラ20において述べたように、タッチパネルなどであって、後述する操作情報ファイルを作成する際および認証の際の操作が行われる。なお、操作部36は、特に設けられていなくても良く、ディップスイッチを設定することによって行ってもよいし、記録媒体52をカードスロット34に挿入することによって自動で行われてもよい。
 図3(a)は、装置用コントローラ30の機能的構成を示すブロック図である。図3(a)に示すように、ユーザプログラムP10およびリストア用プログラムP20をメモリ32に展開することによって、プロセッサ31は、リストア部60と、MACアドレス読み出し部61と、暗号化ファイル作成部62と、認証ファイル比較部63(認証比較部の一例)と、運転部64と、を有する。
 リストア部60は、カードスロット34に収納された記録媒体52に保存されたユーザプログラムP10を装置用コントローラ30にリストアする。
 MACアドレス読み出し部61は、リストアされた装置用コントローラ30のEthernet/IPポート35のMACアドレスを読み出す。MACアドレス読み出し部61は、読み込んだMACアドレスを変数に格納する。
 暗号化ファイル作成部62は、読み出したMACアドレスを暗号化して装置情報ファイルMFを作成し、記録媒体52に保存する。より詳しくは、暗号化ファイル作成部62は、MACアドレスを格納した変数を読み込み、MACアドレスと認識できないようにした暗号文を作成し変数に格納する。作成された暗号文の変数は装置情報ファイルMFとして、記録媒体52にファイル保存される。図3(b)に示すように、装置情報ファイルMFはカードスロット34に収納されている記録媒体52に保存される。記録媒体52は、バックアップファイルBFが保存されている記録媒体と同じものであってもよいし、異なるものであってもよい。
 記録媒体52に保存された装置情報ファイルMFは、認証ファイル作成端末40に送付される。送付の方法としては、記録媒体52に保存されている装置情報ファイルMFを、PC等からインターネット経由で認証ファイル作成端末40の受信部46に送付してもよい。
 詳しくは後述するが、認証ファイル作成端末40において装置情報ファイルMFから認証ファイルAF(アクティベーションファイルともいう)が作成され、認証ファイルAFがユーザに送付され、ユーザによって装置情報ファイルMFが記録媒体52に保存される。
 認証ファイル比較部63は、認証ファイルAFに含まれるMACアドレスと、MACアドレス読み出し部61から読み出したMACアドレスが同じか否かを比較し、同じ場合に運転用ユーザプログラムP12を起動し、運転部64として機能させてFA機器の制御を行う。より詳しくは、認証ファイル比較部63は、記録媒体52に格納された認証ファイルAFを読み出して認証情報として変数に格納する。次に、認証ファイル比較部63は、認証情報の変数を復号してMACアドレスを取り出し、認証MACアドレスとして変数に格納する。次に、認証ファイル比較部63は、認証MACアドレスとMACアドレス読み出し部61で読み込んだMACアドレスが一致しているか比較して、一致していたら運転用ユーザプログラムP12を起動する。
 プロセッサ31は、運転用ユーザプログラムP12をメモリ32に展開して、運転部64として機能する。運転部64は、作成された運転用ユーザプログラムP12に従って装置用コントローラ30に接続されているFA機器を制御する。
 (認証ファイル作成端末)
 認証ファイル作成端末40は、例えばPC等であって、プロセッサ41と、メモリ42と、ストレージ43と、入力部44(入力部の一例)と、表示部45と、受信部46と、送信部47と、を有する。
 ストレージ43には、認証ファイルAFを作成するための認証ファイル作成プログラム、および暗号鍵などが保存されている。
 プロセッサ41は、ストレージ43に記憶されている認証ファイル作成プログラムをメモリ42上に展開して実行する。
 入力部44は、例えばキーボードなどであり、認証ファイルAFの作成の操作が入力される。表示部15は、例えばディスプレイであって、認証ファイルAFの作成の際に表示を行う。
 受信部46は、装置用コントローラ30で作成された装置情報ファイルMFを受信する。送信部47は、装置情報ファイルMFに基づいて作成した認証ファイルAFを装置用コントローラ30のユーザに送信する。たとえば、送信部47は、装置用コントローラ30のユーザが所有するPCにインターネット経由で送信することができる。
 図3(c)は、認証ファイル作成端末40の機能的構成を示すブロック図である。認証ファイル作成端末40は、暗号化ファイル復号部48(復号部の一例)と、認証ファイル作成部49と、を有する。認証ファイル作成プログラムをメモリ42に展開することによって、プロセッサ41は、暗号化ファイル復号部48、および認証ファイル作成部49として機能する。
 暗号化ファイル復号部48は、装置用コントローラ30において暗号化が施されて作成された装置情報ファイルMFの復号処理を行い、MACアドレスを取得する。認証ファイル作成部49は、取得したMACアドレスを暗号化して認証ファイルを作成する。
 作成された認証ファイルAFは、送信部47から装置用コントローラ30のユーザに送信される。
 なお、送信された認証ファイルAFは、ユーザによって、図3(d)に示すように記録媒体51に保存されて装置用コントローラ30に読み込まれる。そして、認証ファイル比較部63は、認証ファイルAFを復号し認証ファイルAFに含まれているMACアドレスとMACアドレス読み出し部61によって読み出された自身のMACアドレスを比較し、同じ場合には運転部64を動作可能とする。
 なお、認証ファイルの送付に伴って課金等を行うことにより、装置用コントローラごとにライセンス料を取得することができる。
 また、例えば、装置用コントローラを所有する他のユーザがプログラムを取得した場合であっても運転用プログラムを起動することができないため不正使用を防止することができる。
 なお、認証ファイルAFを復号する際の暗号鍵は、ユーザプログラムP10に組み込まれており、装置情報ファイルMFを作成する際の暗号化もユーザプログラムP10に組み込まれており、ユーザプログラムP10は、開発メーカによって作成される。さらに、認証ファイル作成端末40において装置情報ファイルMFの復号処理、および認証ファイルAFの暗号化が行われる。このように、開発メーカ側に設定により暗号化および復号処理が行われる。
 <動作>
 次に、本実施の形態の制御システム1の動作について説明するとともに、本発明の制御方法の一例についても同時に述べる。
 図4は、本実施の形態の制御システム1の動作の流れを示すシーケンス図である。図5および図6は、本実施の形態の制御システム1の動作の流れを示すフロー図である。
 はじめに、ステップS10(プログラム作成ステップの一例)において、開発ツール10を用いて認証用ユーザプログラムP11と運転用ユーザプログラムP12と設定情報P13を含むユーザプログラムP10がラダー言語で作成される。
 次に、ステップS11において、開発ツール10から開発用コントローラ20に、ユーザプログラムP10が復元情報なしで転送される。
 次に、ステップS12において、転送された復元情報なしのユーザプログラムP10が開発用コントローラ20にインストールされる。
 次に、ステップS13において、ユーザプログラムP10のバックアップファイルを作成する操作が、開発ツール10を用いて実施される。
 次に、ステップS14(バックアップ作成ステップの一例)において、ステップS13の操作によって開発用コントローラ20のカードスロット25に保存された記録媒体51にバックアップファイルBFが作成されて保存される。
 次に、ステップS15において、メール等によるインターネット経由でユーザに送付されたバックアップファイルBFがユーザによって記録媒体52に保存され、バックアップファイルBFを格納した記録媒体52は、装置用コントローラ30のカードスロット34に格納される。
 次に、ステップS16(リストアステップの一例)において、装置用コントローラ30のリストア部60によるリストア機能を用いて、バックアップファイルBFから装置用コントローラ30にユーザプログラムP10が復元される。
 次に、ステップS17(読み出しステップの一例)において、MACアドレス読み出し部61が自身のEthernet/IPポート35のMACアドレスを取得する。
 次に、ステップS18(暗号化ステップの一例)において、暗号化ファイル作成部62が、取得したMACアドレスを暗号化して装置情報ファイルMFとして記録媒体52に保存する。図7(a)は、操作部36の操作画面36aに表示される一例である装置情報ファイル作成画面を示す図である。図7(a)に示すように、“File Create”スイッチ36bを押下することによって、記録媒体52の一例であるSDカードに装置情報ファイルMF(Machine.datファイル)を作成することができる。
 また、作成された装置情報ファイルMFが、装置用コントローラ30のユーザから、メール等によってインターネット経由で開発メーカの認証ファイル作成端末40に送付される。
 次に、ステップS19において、認証ファイル作成端末40の暗号化ファイル復号部48は、受信した装置情報ファイルMFからMACアドレスの復号処理を行う。
 次に、ステップS20(認証ファイル作成ステップの一例)において、認証ファイル作成端末40の認証ファイル作成部49は、複合処理したMACアドレスを暗号化し、認証ファイルAFを作成する。なお、図4では、ステップS20は、ステップS201における暗号化処理と、ステップS202における認証ファイル作成処理に分けて記載されている。
 また、作成された認証ファイルAFは、認証ファイル作成端末40からメール等によってインターネット経由で、装置用コントローラ30のユーザに送付される。ユーザは、送付された認証ファイルAFを記録媒体52に保存する。
 次に、ステップS21において、装置用コントローラ30のユーザによって記録媒体52に保存された認証ファイルAFが、認証ファイル比較部63によって読み出される。
 次に、ステップS22(比較ステップの一例)において、装置用コントローラ30の認証ファイル比較部63が、認証ファイルAFを復号処理しMACアドレスを取得する。
 次に、ステップS23において、認証ファイル比較部63は、認証ファイルAFから取得したMACアドレスと、ステップS17で取得した自身のMACアドレスを比較する。
 次に、ステップS24において、認証ファイルAFから取得したMACアドレスと、ステップS17で取得した自身のMACアドレスが一致する場合には、制御はステップS25に進む。
 ステップS25(起動ステップの一例)において、認証ファイル比較部63が運転部64の実行を許可して、装置用コントローラ30を運転できる状態となる。なお、図4では、ステップS23、S24、S25をまとめて、運転プログラム起動処理として示す。
 一方、ステップS24において、一致しない場合には、運転部64の実行を許可せずに制御が終了する。
 図7(b)は、操作部36の操作画面36aに表示される認証画面を示す図である。図7(b)に示すように、ステップS21において、認証ファイルAFを記録媒体52の一例であるSDカードに保存し、続いて、SDカードをカードスロット34に挿入して、“Activation”スイッチ36cが押下されると、ステップS21~S25が実行される。
 なお、図7(b)に示すように、装置用コントローラ30の電源投入時に毎回、MACアドレスの比較による認証が行われる。
 以上のように、装置用コントローラ30のMACアドレスを自動的に読み出して、MACアドレスに基づいて運転用ユーザプログラムP12を動作可能とする認証ファイルAFが作成される。このため、客先ごとにプログラムに異なるセキュリティコードを埋め込む必要がなく、容易に運転用プログラムの不正使用を防ぐことが可能となる。
 また、認証ファイル作成端末40に送付されるMACアドレスを含む情報は暗号化されているため、装置用コントローラ30を動作させる作業者に対して認証ファイルAFがMACアドレスに基づいて作成されることを秘密にすることができる。
 また、開発ツール10において、装置用コントローラ30のMACアドレスを読み出す認証用ユーザプログラムP11と、運転用ユーザプログラムP12を作成することにより、対象となる装置用コントローラ30から自動的にMACアドレスを読み出すことが可能となる。
 また、復元情報なしでユーザプログラムP10のバックアップを記録媒体51に行うことによって、ユーザプログラムP10のソースが外部に開示されないようにすることができる。
 また、記録媒体52を介してユーザプログラムP10を装置用コントローラ30にリストアするため、ユーザプログラムP10の転送を他のツールを用いる必要なく行うことができる。
 [他の実施形態]
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。
 (A)
 上記実施の形態では、記録媒体51に保存されたバックアップファイルBFを、PC等からインターネット経由でユーザに送付してもよいと記載したが、これに限られるものではない。
 例えば、バックアップファイルBFが保存された記録媒体51を郵送で送付してもよいし、持ち運んでユーザに届けても良い。なお、開発ツール10にPCを使用している場合には開発ツール10からインターネット経由でユーザに送付してもよい。
 (B)
 上記実施の形態では、記録媒体52に保存されている装置情報ファイルMFを、PC等からインターネット経由で認証ファイル作成端末50の受信部46に送付してもよいと記載したが、これに限られるものではない。
 例えば、記録媒体52を郵送で送付してもよいし、持ち運んで開発メーカに届けても良い。その場合、認証ファイル作成端末40がカードスロットを備えてもよい。また、認証ファイル作成端末50がカードスロットのみを備え、受信部46を備えていなくても良い。要するに、認証ファイル作成端末40のストレージ43に装置情報ファイルMFを保存できさえすればよい。
 また、上記実施の形態では、認証ファイル作成端末40から装置用コントローラ30のユーザに認証ファイルAFをメール等によってインターネットを経由して送信すると記載したが、これに限られるものではなく、認証ファイルAFを記録媒体に保存して記録媒体を郵送してもよいし、持ち運んでも良い。要するに、装置用コントローラ30のカードスロット34に接続される記録媒体52に認証ファイルAFを保存できさえすればよい。
 (C)
 上記実施の形態では、開発ツール10と認証ファイル作成端末40は別々のPCとして設けられているが、同じPCであってもよい。例えば、開発ツール10で用いられる開発支援プログラムが認証ファイル作成端末40として使用されているPCで用いられてもよい。その場合、認証ファイル作成端末40は開発支援プログラムを使用しなくてもよい。
 また、逆に、認証ファイル作成端末40で用いられている認証ファイル作成プログラムが、開発ツール10として使用されているPCで用いられてもよい。その場合、開発ツール10は、認証ファイル作成プログラムを使用しなくてもよい。
 (D)
 上記実施の形態では、開発メーカが、開発ツール10と開発用コントローラ20と認証ファイル作成端末40を備えると記載したが、これに限られるものではなく、例えば、認証ファイル作成端末40が開発メーカと異なる他の会社や個人が所有してもよい。また、認証ファイル作成端末40を所有するものが、ライセンス料をユーザより取得してもよい。
 (E)
 上記実施の形態では、装置情報ファイルMFに、装置用コントローラ30に固有の情報としてMACアドレスのみを用いているが、これに限られるものではなく、装置用コントローラ30のシリアル番号がMACアドレスと組み合わされて装置情報ファイルMFが作成されてもよい。
 (F)
 上記実施の形態では、装置用コントローラ30は記録媒体52を介して認証ファイルAFを取得しているが、これに限られるものではない。例えば、MACアドレスの情報が含まれ暗号化された数列を操作部36から打ち込んでもよい。要するに、装置用コントローラ30が暗号化されたMACアドレスを取得できさえすればよい。
 (G)
 また、本実施の形態では、FA機器の制御を行う制御システムを例として説明したが、これに限られるものではなく、プラントやビルディングオートメーションシステム等に用いても良い。
 (H)
 上記実施の形態では、開発用コントローラ20と装置用コントローラ30を同じ機種が望ましいと記載しているが、これに限られるものではなく、開発用コントローラ20は少なくともユーザプログラムP10のバックアップが出来ればよい。
 (I)
 また、プログラムの一つの利用形態は、コンピュータにより読取可能な、ROM等の記録媒体に記録され、コンピュータと協働して動作する態様であってもよく、プログラムの一つの利用形態は、インターネット等の伝送媒体、光・電波・音波などの伝送媒体中を伝送し、コンピュータにより読みとられ、コンピュータと協働して動作する態様であってもよい。
 また、上述したコンピュータは、CPU(Central Processing Unit)等のハードウェアに限らずファームウェアや、OS、更に周辺機器を含むものであってもよい。
 なお、以上説明したように、電力消費体の制御方法はソフトウェア的に実現してもよいし、ハードウェア的に実現しても良い。
 本発明の認証ファイル作成装置は、容易にプログラムの不正使用を防止することが可能な効果を有し、例えばPLCを用いた制御システム等として有用である。
30    :装置用コントローラ
40    :認証ファイル作成端末
49    :認証ファイル作成部
P11   :認証用ユーザプログラム
P12   :運転用ユーザプログラム
AF    :認証ファイル

Claims (11)

  1.  運転用プログラムの使用許可の対象であるPLC(Programmable Logic Controller)で前記運転用プログラムを動作可能とする認証ファイルを作成する認証ファイル作成装置であって、
     前記PLCから認証用プログラムによって読み出されたMACアドレスを含む情報に基づいて前記認証ファイルを作成する認証ファイル作成部を備えた、
     認証ファイル作成装置。
  2.  前記MACアドレスを含む情報は暗号化されており、
     前記MACアドレスを含む情報を復号する復号部を更に備えた、
     請求項1に記載の認証ファイル作成装置。
  3.  請求項1または2に記載の認証ファイル作成装置と、
     前記PLCのMACアドレスを読み出す前記認証用プログラムと、前記運転用プログラムを作成可能な入力部を有する、プログラム作成装置と、を備えた、
     制御システム。
  4.  記録媒体を接続可能な接続部を有し、復元情報なしで前記認証用プログラムと前記運転用プログラムのバックアップを前記記録媒体に行うバックアップ作成装置を更に備え、
     前記プログラム作成装置は、前記認証用プログラムおよび前記運転用プログラムを前記バックアップ作成装置に復元情報なしで転送可能な転送部を有する、
     請求項3に記載の制御システム。
  5.  前記記録媒体を接続可能な接続部を有し、前記記録媒体に記録された前記認証用プログラムおよび前記運転用プログラムをリストアする前記PLCを更に備え、
     前記認証用プログラムがリストアされた前記PLCは、前記PLCのMACアドレスと、取得した前記認証ファイルのMACアドレスを比較して同じ場合に前記運転用プログラムを起動させる認証比較部を有する、
     請求項4に記載の制御システム。
  6.  運転用プログラムの使用許可の対象であるPLCに、
     前記PLCのMACアドレスを読み出す読み出しステップと、
     認証ファイルに含まれるMACアドレスと、読み出したMACアドレスを比較する比較ステップと、
     前記認証ファイルのMACアドレスと前記読み出したMACアドレスが同じ場合に運転を実行可能な状態にする起動ステップと、を実行させる、
     プログラム。
  7.  前記読み出したMACアドレスを暗号化する暗号化ファイル作成ステップを更に実行させる、
     請求項6に記載のプログラム。
  8.  運転用プログラムの使用許可の対象であるPLCで前記運転用プログラムを動作可能とする制御方法であって、
     対象PLCからMACアドレスを読み出す読み出しステップと、
     前記読み出したMACアドレスと、取得した認証ファイルに含まれるMACアドレスを比較して同じ場合に前記運転用プログラムを起動する比較ステップと、を備えた、
     制御方法。
  9.  前記読み出したMACアドレスを暗号化する暗号化ステップを更に備えた、
     請求項8に記載の制御方法。
  10.  前記読み出したMACアドレスを用いて前記認証ファイルを作成する認証ファイル作成ステップを更に備えた、
     請求項8または9に記載の制御方法。
  11.  前記運転用プログラムと前記読み出しステップを実行する認証用プログラムとを作成するプログラム作成ステップと、
     前記運転用プログラムと前記認証用プログラムを復元情報なしでバックアップを作成するバックアップ作成ステップと、
     バックアップされた前記運転用プログラムと前記認証用プログラムを前記対象PLCにリストアするリストアステップと、を更に備えた、
     請求項8に記載の制御方法。
PCT/JP2020/010026 2019-04-25 2020-03-09 認証ファイル作成装置、制御システム、プログラム、および制御方法 WO2020217741A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-083833 2019-04-25
JP2019083833A JP6766917B1 (ja) 2019-04-25 2019-04-25 制御システムおよび制御方法

Publications (1)

Publication Number Publication Date
WO2020217741A1 true WO2020217741A1 (ja) 2020-10-29

Family

ID=72745077

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/010026 WO2020217741A1 (ja) 2019-04-25 2020-03-09 認証ファイル作成装置、制御システム、プログラム、および制御方法

Country Status (2)

Country Link
JP (1) JP6766917B1 (ja)
WO (1) WO2020217741A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5811265B2 (ja) * 1976-02-19 1983-03-02 ニチデン機械株式会社 物品選別装置
JP2003330506A (ja) * 2002-05-08 2003-11-21 Fuji Electric Co Ltd プログラマブルコントローラ内のデータバックアップ装置および方法
JP2008236231A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム及びコンピュータ読み取り可能な記録媒体
JP2011165041A (ja) * 2010-02-12 2011-08-25 Mitsubishi Electric Corp 制御装置及び管理装置
JP2018022359A (ja) * 2016-08-04 2018-02-08 古野電気株式会社 制御機器の認証システム、制御機器の認証方法、及び制御機器のプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013128603A1 (ja) * 2012-02-29 2013-09-06 富士電機株式会社 プログラマブルコントローラ、プログラマブルコントローラシステム、及びプログラマブルコントローラの提供システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5811265B2 (ja) * 1976-02-19 1983-03-02 ニチデン機械株式会社 物品選別装置
JP2003330506A (ja) * 2002-05-08 2003-11-21 Fuji Electric Co Ltd プログラマブルコントローラ内のデータバックアップ装置および方法
JP2008236231A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム及びコンピュータ読み取り可能な記録媒体
JP2011165041A (ja) * 2010-02-12 2011-08-25 Mitsubishi Electric Corp 制御装置及び管理装置
JP2018022359A (ja) * 2016-08-04 2018-02-08 古野電気株式会社 制御機器の認証システム、制御機器の認証方法、及び制御機器のプログラム

Also Published As

Publication number Publication date
JP2020181364A (ja) 2020-11-05
JP6766917B1 (ja) 2020-10-14

Similar Documents

Publication Publication Date Title
TW200903215A (en) Program update method and server
CN101467112A (zh) 可编程显示器以及控制系统、备份/恢复处理方法
US9965599B2 (en) Function setting method
KR20160008572A (ko) 셀프-인증 장치 및 방법
CN101916346A (zh) 可防盗版的电子装置及其防盗版方法
CN110704814B (zh) 一种防拷贝方法及设备、存储介质
JP4714582B2 (ja) 工作機械の誤起動を防止するための方法
WO2020217741A1 (ja) 認証ファイル作成装置、制御システム、プログラム、および制御方法
WO2020195348A1 (ja) 制御システム、セキュリティ装置および方法
JP2008152551A (ja) ソフトウェアオプション設定システム及び設定方法
EP3104295B1 (en) Control apparatus and control apparatus system
CN112115421A (zh) 正当性确认设备
WO2008078931A1 (en) Apparatus and method for managing rights object
WO2021205889A1 (ja) 情報処理方法、プログラム、情報処理装置、及び、データ構造
EP3731044A1 (en) Communication system, communication method and program
JP4757503B2 (ja) Macアドレスを有する着脱型デバイスを用いたライセンス認証システム及び方法
CN101133419A (zh) 系统程序下载系统
JPH06110512A (ja) プログラマブルコントローラ
CN104023008A (zh) 下载、启动工具包的方法及装置
JP6460765B2 (ja) 情報処理装置、情報処理装置の制御方法、プログラム
JP2005202663A (ja) 制御用プログラム,コンパイラおよび変換プログラム
JP2005038294A (ja) 制御装置管理システム
JP2006311136A (ja) 端末、及び、この端末に適用されるプログラム
CN113779512A (zh) 基于加密进行授权管理的方法、装置、终端及存储介质
WO2009110024A1 (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: 20794088

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20794088

Country of ref document: EP

Kind code of ref document: A1