JP2008067162A - Control system and method for controlling system - Google Patents

Control system and method for controlling system Download PDF

Info

Publication number
JP2008067162A
JP2008067162A JP2006244122A JP2006244122A JP2008067162A JP 2008067162 A JP2008067162 A JP 2008067162A JP 2006244122 A JP2006244122 A JP 2006244122A JP 2006244122 A JP2006244122 A JP 2006244122A JP 2008067162 A JP2008067162 A JP 2008067162A
Authority
JP
Japan
Prior art keywords
encryption
program
encrypted data
data
encrypted
Prior art date
Legal status (The legal status 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 status listed.)
Withdrawn
Application number
JP2006244122A
Other languages
Japanese (ja)
Inventor
Kanichi Ogawa
寛一 小川
Keiichiro Shikama
恵一郎 鹿間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PIT KK
Omron Corp
Original Assignee
PIT KK
Omron Corp
Omron Tateisi Electronics Co
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 PIT KK, Omron Corp, Omron Tateisi Electronics Co filed Critical PIT KK
Priority to JP2006244122A priority Critical patent/JP2008067162A/en
Publication of JP2008067162A publication Critical patent/JP2008067162A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method for controlling an FA system by which the security of a program is maintained. <P>SOLUTION: The method for controlling the FA system includes: a step (S204) in which an encryption rule issuing device generates an encryption key and a decryption key; a step (S206) in which the decryption key is transmitted to a PLC (programmable logic controller) through the internet, a step (S210) in which the encryption key is transmitted to an encryption converter; a step (S216) in which the encryption converter encrypts a control program by using the encryption key; a step (S218) in which the encryption converter transmits the program generated by encryption to the PLC; and a step (S222) in which the PLC decrypts the control program. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、機器を制御するプログラムを保護する技術に関する。より特定的には、本発明は、暗号化された当該プログラムをネットワークを介して配信し、配信されたプログラムを復号化して当該機器の制御に使用する制御システム、および、当該機器を制御するシステムの制御方法に関する。   The present invention relates to a technique for protecting a program for controlling a device. More specifically, the present invention provides a control system that distributes the encrypted program via a network, decrypts the distributed program, and uses the device for controlling the device, and a system that controls the device Relates to the control method.

FA(FactoryAutomation、ファクトリ・オートメーション)の分野において、生産設備は、多くの場合、プログラマブルロジックコントローラその他の制御装置によって制御される。一般に、そのような制御装置は、予め作成されたプログラムを実行することにより、当該生産設備を制御し、あるいは生産設備から実績データを収集する。このプログラムは、いわゆるラダー言語、C言語その他のプログラミング言語を用いて開発者によって作成される。   In the field of FA (Factory Automation), production equipment is often controlled by a programmable logic controller or other control device. In general, such a control device controls the production facility or collects performance data from the production facility by executing a program created in advance. This program is created by a developer using a so-called ladder language, C language, or other programming language.

当該制御装置は、生産設備の近くに設置される。一方、制御装置からのデータに基づいて生産設備の操業を管理するための監視装置、あるいは、制御装置が使用するプログラムの修正、変更のようなメンテナンスを行なうための管理装置は、生産設備から離れた場所に設置されることも多い。この場合、プログラムのメンテナンスは、管理装置と制御装置とを接続する通信回線、たとえばインターネットを介して、リモートメンテナンスとして、システム管理者によって行なわれる。   The control device is installed near the production facility. On the other hand, the monitoring device for managing the operation of the production facility based on the data from the control device, or the management device for performing maintenance such as correction and change of the program used by the control device is separated from the production facility. Often installed in different locations. In this case, the maintenance of the program is performed by the system administrator as remote maintenance via a communication line connecting the management device and the control device, for example, the Internet.

リモートメンテナンスのために制御装置がインターネットに接続されている場合、当該制御装置は、第3者の通信装置によるアクセスを受ける可能性がある。第3者の通信装置が、生産設備を制御するためのプログラムの作成機能を有している場合、当該通信装置は、制御装置にアクセスすることができる。そのため、リモートメンテナンスのためといえども、制御装置をインターネットに安易に接続することができない。   When the control device is connected to the Internet for remote maintenance, the control device may be accessed by a third party communication device. When the third-party communication device has a function of creating a program for controlling the production facility, the communication device can access the control device. Therefore, even for remote maintenance, the control device cannot be easily connected to the Internet.

FAシステムに関し、たとえば、特開2003−199179号公報(特許文献1)は、ユーザが秘密にしたい情報を見せることなく、監視あるいは保守に必要な情報を外部に向けて配信できるリモートエンジニアリングシステムを開示する。
特開2003−199179号公報
Regarding the FA system, for example, Japanese Patent Laid-Open No. 2003-199179 (Patent Document 1) discloses a remote engineering system that can distribute information necessary for monitoring or maintenance to the outside without showing information that the user wants to keep secret. To do.
JP 2003-199179 A

しかしながら、FAシステムにおいては、装置そのものが秘密の状態を脱した場合、たとえば、秘密にしたい情報を有する装置が盗難にあった場合、その情報の秘密性が損なわれるという問題がある。   However, in the FA system, when the device itself is out of the secret state, for example, when a device having information to be kept secret is stolen, the confidentiality of the information is impaired.

本発明は、上述の問題点を解決するためになされたものであって、その目的は、情報の秘密性を維持できるような制御システムを提供することである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a control system capable of maintaining the confidentiality of information.

本発明の他の目的は、機器を制御するために使用するプログラムの秘密性を維持できる制御装置を備えた制御システムを提供することである。   Another object of the present invention is to provide a control system including a control device capable of maintaining the confidentiality of a program used for controlling a device.

本発明の他の目的は、情報の秘密性を維持できるようにシステムを制御する制御方法を提供することである。   Another object of the present invention is to provide a control method for controlling a system so that confidentiality of information can be maintained.

上記の目的を達成するために、この発明のある局面に従うと、機器を制御するための制御システムが提供される。この制御システムは、暗号処理に使用される暗号データを生成する暗号データ生成装置と、通信回線を介して暗号データ生成装置に接続され、機器を制御するプログラムを暗号化する暗号化装置と、通信回線によって暗号データ生成装置と暗号化装置とに接続され、プログラムに基づいて機器を制御する制御装置とを備える。暗号データ生成装置は、プログラムの暗号化と復号化とに使用される暗号データを生成する生成手段と、第1の暗号データとして暗号データを暗号化装置に送信する第1の暗号データ送信手段と、第2の暗号データとして暗号データを制御装置に送信する第2の暗号データ送信手段とを含む。暗号化装置は、プログラムを格納する記憶手段と、第1の暗号データを受信する暗号データ受信手段と、第1の暗号データに基づいてプログラムを暗号化して暗号プログラムを生成する暗号化手段と、暗号プログラムを制御装置に送信する送信手段とを含む。制御装置は、暗号化装置から送信された暗号プログラムと、暗号データ生成装置から送信された第2の暗号データとを受信する受信手段と、第2の暗号データを格納する暗号データ記憶手段と、第2の暗号データに基づいて、暗号プログラムを復号する復号化手段と、復号されたプログラムを格納するプログラム記憶手段と、プログラム記憶手段に格納されているプログラムに基づいて、機器を制御する制御手段とを含む。   In order to achieve the above object, according to one aspect of the present invention, a control system for controlling an apparatus is provided. The control system includes: an encryption data generation device that generates encryption data used for encryption processing; an encryption device that is connected to the encryption data generation device via a communication line and encrypts a program that controls the device; and A control device is provided that is connected to the encryption data generation device and the encryption device via a line and controls the device based on a program. The encryption data generation device includes: generation means for generating encryption data used for program encryption and decryption; and first encryption data transmission means for transmitting encryption data to the encryption device as first encryption data. And second encrypted data transmission means for transmitting the encrypted data to the control device as the second encrypted data. The encryption apparatus includes: a storage unit that stores a program; an encryption data reception unit that receives first encryption data; an encryption unit that encrypts the program based on the first encryption data and generates an encryption program; Transmitting means for transmitting the encryption program to the control device. The control device includes: a receiving unit that receives the encryption program transmitted from the encryption device; the second encryption data transmitted from the encryption data generation device; an encryption data storage unit that stores the second encryption data; Decryption means for decrypting the encryption program based on the second encryption data, program storage means for storing the decrypted program, and control means for controlling the device based on the program stored in the program storage means Including.

好ましくは、生成手段は、プログラムを暗号化するための暗号鍵と、暗号鍵を用いた暗号化により生成された暗号プログラムを復号化するための復号鍵とを生成する。第1の暗号データ送信手段は、暗号鍵を暗号化装置に送信する。第2の暗号データ送信手段は、復号鍵を制御装置に送信する。   Preferably, the generation unit generates an encryption key for encrypting the program and a decryption key for decrypting the encryption program generated by encryption using the encryption key. The first encrypted data transmission means transmits the encryption key to the encryption device. The second encrypted data transmission means transmits the decryption key to the control device.

好ましくは、送信手段は、制御装置に対して、暗号プログラムに加えて第1の暗号データをさらに送信する。制御装置は、第1の暗号データと第2の暗号データとに基づいて、暗号プログラムが機器を制御するためのプログラムを暗号化したものであるか否かを確認する認証手段をさらに含む。復号化手段は、暗号プログラムが機器を制御するためのプログラムを暗号化したものである場合に、暗号プログラムを復号する。   Preferably, the transmission means further transmits the first encrypted data to the control device in addition to the encryption program. The control device further includes authentication means for confirming whether or not the encryption program is an encrypted program for controlling the device based on the first encryption data and the second encryption data. The decrypting means decrypts the encrypted program when the encrypted program is an encrypted program for controlling the device.

好ましくは、第1の暗号データは、プログラムを暗号化するための暗号鍵を含む。第2の暗号データは、暗号鍵を用いた暗号化によって生成された暗号プログラムを復号するための復号鍵を含む。認証手段は、暗号鍵と復号鍵とが対応する場合に、暗号プログラムが機器を制御するためのプログラムを暗号化したものであると判断する。   Preferably, the first encrypted data includes an encryption key for encrypting the program. The second encryption data includes a decryption key for decrypting the encryption program generated by encryption using the encryption key. The authentication unit determines that the encryption program is an encrypted program for controlling the device when the encryption key and the decryption key correspond to each other.

好ましくは、生成手段は、予め定められた時間ごとに、新たな暗号データを生成する。第1の暗号データ送信手段は、予め定められた時間ごとに、新たに生成された暗号データを、第1の暗号データとして暗号化装置に送信する。第2の暗号データ送信手段は、予め定められた時間ごとに、新たに生成された暗号データを、第2の暗号データとして制御装置に送信する。   Preferably, the generation unit generates new encrypted data every predetermined time. The first encrypted data transmission means transmits newly generated encrypted data to the encryption device as the first encrypted data every predetermined time. The second encrypted data transmission means transmits newly generated encrypted data to the control device as second encrypted data at predetermined time intervals.

好ましくは、制御装置は、電源のオンとオフとの切り換えを検知する検知手段と、切り換えの検知に基づいて、暗号化装置に対して、新たな暗号プログラムの送信を要求する第1の要求手段とをさらに含む。暗号化装置は、新たな暗号プログラムの送信の要求を受信したことを検知する受信検知手段をさらに含む。送信手段は、送信の要求を受信したことに基づいて、新たな暗号プログラムを制御装置に送信する。復号化手段は、新たな暗号プログラムを復号する。   Preferably, the control device detects a switching between turning on and off of the power supply, and a first requesting unit that requests the encryption device to transmit a new encryption program based on the detection of the switching. And further including. The encryption device further includes reception detection means for detecting that a request for transmission of a new encryption program has been received. The transmission means transmits a new encryption program to the control device based on the reception of the transmission request. The decrypting means decrypts the new encryption program.

好ましくは、制御装置は、切り換えの検知に基づいて、新たな第2の暗号データの送信要求を、暗号データ生成装置に送信する第2の要求手段をさらに含む。生成手段は、第2の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成する。第1の暗号データ送信手段は、新たに生成した暗号データを、第1の暗号データとして暗号化装置に送信する。第2の暗号データ送信手段は、新たに生成した暗号データを、第2の暗号データとして制御装置に送信する。   Preferably, the control device further includes second request means for transmitting a new second encrypted data transmission request to the encrypted data generating device based on the detection of switching. The generating means generates new encrypted data based on the reception of the second encrypted data transmission request. The first encrypted data transmission means transmits the newly generated encrypted data to the encryption device as the first encrypted data. The second encrypted data transmission means transmits newly generated encrypted data to the control device as second encrypted data.

この発明の他の局面に従うと、機器を制御する制御装置を備えるシステムを制御するための制御方法が提供される。当該システムは、暗号処理に使用される暗号データを生成する暗号データ生成装置と、通信回線を介して暗号データ生成装置に接続され、機器を制御するプログラムを暗号化する暗号化装置と、通信回線によって暗号データ生成装置と暗号化装置とに接続され、プログラムに基づいて機器を制御する制御装置とを備える。制御方法は、暗号データ生成装置が、プログラムの暗号化と復号化とに使用される暗号データを生成する生成ステップと、暗号データ生成装置が、第1の暗号データとして暗号データを暗号化装置に送信する第1の送信ステップと、暗号データ生成装置が、第2の暗号データとして暗号データを制御装置に送信する第2の送信ステップと、暗号化装置が、プログラムをロードするステップと、暗号化装置が、第1の暗号データを受信する受信ステップと、暗号化装置が、第1の暗号データに基づいてプログラムを暗号化して暗号プログラムを生成する暗号化ステップと、暗号化装置が、暗号プログラムを制御装置に送信する送信ステップと、制御装置が、暗号化装置から送信された暗号プログラムと、暗号データ生成装置から送信された第2の暗号データとを受信する受信ステップと、制御装置が、第2の暗号データを格納する暗号データ記憶ステップと、制御装置が、第2の暗号データに基づいて、暗号プログラムを復号する復号化ステップと、制御装置が、復号されたプログラムを保存するステップと、制御装置が、保存されたプログラムに基づいて、機器を制御する制御ステップとを含む。   When the other situation of this invention is followed, the control method for controlling the system provided with the control apparatus which controls an apparatus is provided. The system includes an encryption data generation device that generates encryption data used for encryption processing, an encryption device that is connected to the encryption data generation device via a communication line and encrypts a program that controls the device, and a communication line. Is connected to the encrypted data generation device and the encryption device, and includes a control device that controls the device based on the program. The control method includes a generation step in which the encryption data generation device generates encryption data used for encryption and decryption of the program, and the encryption data generation device sends the encryption data to the encryption device as the first encryption data. A first transmission step of transmitting, a second transmission step of transmitting the encrypted data as the second encrypted data to the control device by the encrypted data generation device, a step of loading the program by the encryption device, and an encryption A receiving step in which the device receives the first encrypted data; an encryption step in which the encryption device encrypts the program based on the first encrypted data to generate a cryptographic program; and the encryption device in the cryptographic program Is transmitted to the control device, the encryption program transmitted from the encryption device to the control device, and the second transmitted from the encrypted data generation device. A receiving step for receiving the encrypted data; a control data storing step for storing the second encrypted data; a decrypting step for the control device to decrypt the encryption program based on the second encrypted data; The control device includes a step of storing the decrypted program, and the control device includes a control step of controlling the device based on the stored program.

好ましくは、生成ステップは、プログラムを暗号化するための暗号鍵と、暗号鍵を用いた暗号化により生成された暗号プログラムを復号化するための復号鍵とを生成する。第1の送信ステップは、暗号鍵を暗号化装置に送信する。第2の送信ステップは、復号鍵を制御装置に送信する。   Preferably, the generation step generates an encryption key for encrypting the program and a decryption key for decrypting the encryption program generated by the encryption using the encryption key. In the first transmission step, the encryption key is transmitted to the encryption device. In the second transmission step, the decryption key is transmitted to the control device.

好ましくは、第3の送信ステップは、制御装置に対して、暗号プログラムに加えて第1の暗号データをさらに送信する。制御方法は、第1の暗号データと第2の暗号データとに基づいて、暗号プログラムが機器を制御するためのプログラムを暗号化したものであるか否かを確認する認証ステップをさらに含む。復号化ステップは、暗号プログラムが機器を制御するためのプログラムを暗号化したものである場合に、暗号プログラムを復号する。   Preferably, in the third transmission step, the first encrypted data is further transmitted to the control device in addition to the encryption program. The control method further includes an authentication step of confirming whether or not the encryption program is an encrypted program for controlling the device based on the first encryption data and the second encryption data. The decrypting step decrypts the encrypted program when the encrypted program is an encrypted program for controlling the device.

好ましくは、第1の暗号データは、プログラムを暗号化するための暗号鍵を含む。第2の暗号データは、暗号鍵を用いた暗号化によって生成された暗号プログラムを復号するための復号鍵を含む。認証ステップは、暗号鍵と復号鍵とが対応する場合に、暗号プログラムが機器を制御するためのプログラムを暗号化したものであると判断する。   Preferably, the first encrypted data includes an encryption key for encrypting the program. The second encryption data includes a decryption key for decrypting the encryption program generated by encryption using the encryption key. The authentication step determines that the encryption program is an encrypted program for controlling the device when the encryption key and the decryption key correspond to each other.

好ましくは、生成ステップは、予め定められた時間ごとに、新たな暗号データを生成する。第1の送信ステップは、予め定められた時間ごとに、新たに生成された暗号データを、第1の暗号データとして暗号化装置に送信する。第2の送信ステップは、予め定められた時間ごとに、新たに生成された暗号データを、第2の暗号データとして制御装置に送信する。   Preferably, the generation step generates new encrypted data every predetermined time. In the first transmission step, the newly generated encrypted data is transmitted to the encryption device as the first encrypted data every predetermined time. In the second transmission step, the newly generated encrypted data is transmitted as second encrypted data to the control device at predetermined time intervals.

好ましくは、制御方法は、制御装置が、電源のオンとオフとの切り換えを検知する検知ステップと、制御装置が、切り換えの検知に基づいて、暗号化装置に対して、新たな暗号プログラムの送信を要求するステップと、暗号化装置が、新たな暗号プログラムの送信の要求を受信したことを検知するステップとをさらに含む。第3の送信ステップは、送信の要求を受信したことに基づいて、新たな暗号プログラムを制御装置に送信する。復号化ステップは、新たな暗号プログラムを復号する。   Preferably, the control method includes a detection step in which the control device detects switching of power on and off, and the control device transmits a new encryption program to the encryption device based on the detection of switching. And a step of detecting that the encryption device has received a request for transmission of a new encryption program. In the third transmission step, a new encryption program is transmitted to the control device based on the reception of the transmission request. The decryption step decrypts the new encryption program.

好ましくは、制御方法は、切り換えの検知に基づいて、新たな第2の暗号データの送信要求を、制御装置が暗号データ生成装置に対して送信するステップをさらに含む。生成ステップは、第2の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成する。第1の送信ステップは、新たに生成された暗号データを、第1の暗号データとして暗号化装置に送信する。第2の送信ステップは、新たに生成された暗号データを、第2の暗号データとして制御装置に送信する。   Preferably, the control method further includes a step in which the control device transmits a new second encrypted data transmission request to the encrypted data generation device based on the detection of the switching. The generation step generates new encrypted data based on the reception of the second encrypted data transmission request. In the first transmission step, the newly generated encrypted data is transmitted to the encryption apparatus as the first encrypted data. In the second transmission step, the newly generated encrypted data is transmitted as second encrypted data to the control device.

本発明に係る制御システムによると、制御装置が使用するプログラムの秘密性を維持することができる。   According to the control system of the present invention, the confidentiality of the program used by the control device can be maintained.

本発明に係る制御方法によると、制御装置が使用するプログラムの秘密性を維持しつつ、当該制御装置が含まれる制御システムを制御することができる。   According to the control method of the present invention, it is possible to control the control system including the control device while maintaining the confidentiality of the program used by the control device.

以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the following description, the same parts are denoted by the same reference numerals. Their names and functions are also the same. Therefore, detailed description thereof will not be repeated.

図1を参照して、本発明の実施の形態に係るファクトリ・オートメーション(以下FA(Factory Automation))システム10について説明する。図1は、FAシステム10の構成を表わす図である。   A factory automation (hereinafter referred to as FA (Factory Automation)) system 10 according to an embodiment of the present invention will be described with reference to FIG. FIG. 1 is a diagram showing the configuration of the FA system 10.

FAシステム10は、暗号ルール発行装置100と、プログラム開発装置110と、暗号変換機120と、プログラマブルロジックコントローラ(以下、PLC(Programmable Logic Controller))130と、設備機器140とを備える。暗号ルール発行装置100と、暗号変換機120とPLC130とは、インターネット150を介して接続される。プログラム開発装置110と暗号変換機120とは、ケーブル152を介して電気的に接続される。PLC130と設備機器140とは、LAN(Local Area Network)154によって接続されている。   The FA system 10 includes a cryptographic rule issuing device 100, a program development device 110, a cryptographic converter 120, a programmable logic controller (hereinafter, PLC (Programmable Logic Controller)) 130, and an equipment device 140. The encryption rule issuing device 100, the encryption converter 120, and the PLC 130 are connected via the Internet 150. The program development device 110 and the cryptographic converter 120 are electrically connected via a cable 152. The PLC 130 and the facility device 140 are connected by a LAN (Local Area Network) 154.

図2を参照して、FAシステム10の制御方法について説明する。図2は、FAシステム10において実行される一連の処理を表わすフローチャートである。   A control method of the FA system 10 will be described with reference to FIG. FIG. 2 is a flowchart showing a series of processes executed in the FA system 10.

ステップS202にて、暗号ルール発行装置100は、PLC130に固有なコード(たとえば機器ID(Identification))に基づいて、暗号ルール(たとえば復号鍵)の送信先を特定する。ステップS204にて、暗号ルール発行装置100は、予め準備された生成手順に従って、暗号鍵と復号鍵とを生成する。ステップS206にて、暗号ルール発行装置100は、インターネット110を介してPLC130に生成した復号鍵を送信する。   In step S202, encryption rule issuing apparatus 100 specifies a transmission destination of an encryption rule (for example, a decryption key) based on a code (for example, device ID (Identification)) unique to PLC 130. In step S204, the encryption rule issuing device 100 generates an encryption key and a decryption key according to a generation procedure prepared in advance. In step S206, the encryption rule issuing device 100 transmits the generated decryption key to the PLC 130 via the Internet 110.

ステップS208にて、PLC130は、暗号ルール発行装置100によって送信された復号鍵を受信して内部メモリに格納する。   In step S208, the PLC 130 receives the decryption key transmitted by the encryption rule issuing device 100 and stores it in the internal memory.

ステップS210にて、暗号ルール発行装置100は、インターネット150を介して、暗号変換機120に対して暗号鍵を送信する。ステップS212にて、暗号変換機120は、暗号ルール発行装置100によって送信された暗号鍵を受信して内部メモリに格納する。   In step S <b> 210, the encryption rule issuing device 100 transmits the encryption key to the encryption converter 120 via the Internet 150. In step S212, the cryptographic converter 120 receives the encryption key transmitted by the encryption rule issuing device 100 and stores it in the internal memory.

ステップS214にて、プログラム開発装置110は、内部メモリから予め格納されていた制御プログラムを読み出して、暗号変換機120に対してその制御プログラムを送信する。ここで、制御プログラムは、設備機器140を制御するために、プログラム開発装置110の使用者によって作成されたプログラムである。   In step S214, the program development device 110 reads a control program stored in advance from the internal memory and transmits the control program to the cryptographic converter 120. Here, the control program is a program created by the user of the program development device 110 in order to control the equipment device 140.

ステップS216にて、暗号変換機120は、メモリから暗号鍵を読み出して、その暗号鍵を用いてプログラム開発装置110から送信されたプログラムを暗号化する。ステップS218にて、暗号変換機120は、暗号化されたプログラムをインターネット150を介してPLC130に送信する。   In step S216, encryption converter 120 reads the encryption key from the memory, and encrypts the program transmitted from program development device 110 using the encryption key. In step S218, cipher converter 120 transmits the encrypted program to PLC 130 via Internet 150.

ステップS220にて、PLC130は、暗号化されたプログラムを暗号変換機120から受信して、内部メモリに格納する。ステップS222にて、PLC130は、予め保存していた復号鍵をメモリから読み出して、その復号鍵を用いて受信したプログラムを復号化する。ステップS224にて、PLC130は、復号されたプログラムを用いて設備機器140を制御する。   In step S220, PLC 130 receives the encrypted program from cipher converter 120 and stores it in the internal memory. In step S222, PLC 130 reads a previously stored decryption key from the memory, and decrypts the received program using the decryption key. In step S224, PLC 130 controls facility device 140 using the decrypted program.

図3を参照して、本実施の形態に係る暗号ルール発行装置100の構成について説明する。図3は、暗号ルール発行装置100によって実現される機能の構成を表わすブロック図である。   With reference to FIG. 3, the structure of the encryption rule issuing device 100 according to the present embodiment will be described. FIG. 3 is a block diagram illustrating a configuration of functions realized by the encryption rule issuing device 100.

暗号ルール発行装置100は、生成タイミング検知部310と、機器特定部330と、機器情報記憶部320と、暗号ルール生成部340と、暗号ルール記憶部350と、暗号ルール送信制御部360と、通信部370とを備える。   The encryption rule issuing device 100 includes a generation timing detection unit 310, a device identification unit 330, a device information storage unit 320, an encryption rule generation unit 340, an encryption rule storage unit 350, an encryption rule transmission control unit 360, a communication Part 370.

生成タイミング検知部310は、暗号ルール(たとえば暗号鍵と復号鍵との組み合わせ)を生成するタイミングを検知する。たとえば、生成タイミング検知部310は、外部から与えられる生成指示に基づいて暗号ルールを生成すべきタイミングを検知する。あるいは、他の局面において、生成タイミング検知部310は、内部クロック(図示しない)が予め定められた時刻の到来を検知したときに、そのタイミングを検知する。   The generation timing detection unit 310 detects timing for generating an encryption rule (for example, a combination of an encryption key and a decryption key). For example, the generation timing detection unit 310 detects a timing at which a cryptographic rule should be generated based on a generation instruction given from the outside. Alternatively, in another aspect, generation timing detector 310 detects the timing when an internal clock (not shown) detects the arrival of a predetermined time.

機器情報記憶部320は、暗号ルール発行装置100と通信可能な機器を特定するための情報を格納する。当該情報は、たとえば、暗号変換機120、PLC130等に固有な機器番号その他の識別可能なデータを含む。FAシステム10が構築されたときに、これらの機器を識別するための情報は、FAシステム10のユーザによって暗号ルール発行装置100に入力され、機器情報記憶部320に格納される。   The device information storage unit 320 stores information for specifying a device that can communicate with the encryption rule issuing device 100. The information includes, for example, a device number unique to the cryptographic converter 120, the PLC 130, and other identifiable data. When the FA system 10 is constructed, information for identifying these devices is input to the encryption rule issuing device 100 by the user of the FA system 10 and stored in the device information storage unit 320.

機器特定部330は、生成タイミング検知部310からの出力と、機器情報記憶部320に格納されているデータとに基づいて作動可能なように、生成タイミング検知部310と機器情報記憶部320とに接続されている。機器特定部330は、生成タイミング検知部310が暗号ルールの生成のタイミングを検知したことに基づいて、機器情報記憶部320に格納されているデータを読み出して、当該暗号ルールを生成すべき対象となる機器を特定する。より具体的には、機器特定部330は、インターネット150に接続されているPLC130その他の制御機器を特定する。   The device identification unit 330 is connected to the generation timing detection unit 310 and the device information storage unit 320 so as to be operable based on the output from the generation timing detection unit 310 and the data stored in the device information storage unit 320. It is connected. The device specifying unit 330 reads out data stored in the device information storage unit 320 based on the detection of the generation timing of the encryption rule by the generation timing detection unit 310, and sets the encryption rule to be generated. Identify the device to be. More specifically, the device specifying unit 330 specifies the PLC 130 or other control device connected to the Internet 150.

暗号ルール生成部340は、機器特定部330からの出力に基づいて作動可能なように構成される。より具体的には、暗号ルール生成部340は、予め準備された生成基準に従って、機器特定部330によって特定された機器に固有な暗号ルールを生成する。生成された暗号ルールは、たとえば実行可能なプログラムを暗号化するための暗号鍵と、その暗号化されたプログラムを復号するための復号鍵とを含む。暗号ルール生成部340は、その生成した暗号ルールを暗号ルール記憶部350に格納する。   The encryption rule generation unit 340 is configured to be operable based on the output from the device identification unit 330. More specifically, the encryption rule generation unit 340 generates an encryption rule specific to the device specified by the device specification unit 330 according to a generation criterion prepared in advance. The generated encryption rule includes, for example, an encryption key for encrypting an executable program and a decryption key for decrypting the encrypted program. The encryption rule generation unit 340 stores the generated encryption rule in the encryption rule storage unit 350.

暗号ルール送信制御部360は、暗号ルール記憶部350に格納されているデータに基づいて作動可能なように構成される。詳しくは、暗号ルール送信制御部360は、機器情報記憶部320から復号鍵を送信する対象となる機器のアドレス(たとえばIP(Internet Protocol)アドレス)を読み出す。また、暗号ルール送信制御部360は、暗号ルール記憶部350に格納されている当該復号鍵を読み出す。暗号ルール送信制御部360は、そのアドレスを参照して復号鍵を送信するためのデータを生成する。   The encryption rule transmission control unit 360 is configured to be operable based on data stored in the encryption rule storage unit 350. Specifically, the encryption rule transmission control unit 360 reads an address (for example, an IP (Internet Protocol) address) of a device to which a decryption key is transmitted from the device information storage unit 320. The encryption rule transmission control unit 360 reads the decryption key stored in the encryption rule storage unit 350. The encryption rule transmission control unit 360 generates data for transmitting the decryption key with reference to the address.

あるいは、暗号ルール送信制御部360は、暗号鍵を送信する対象となる暗号変換機120のアドレスを、機器情報記憶部320から読み出す。また、暗号ルール送信制御部360は、暗号ルール記憶部350に格納されている暗号鍵を読み出す。暗号ルール送信制御部360は、当該アドレスを用いてその暗号鍵を送信するためのデータを生成する。   Alternatively, the encryption rule transmission control unit 360 reads from the device information storage unit 320 the address of the cryptographic converter 120 that is the target of transmitting the encryption key. The encryption rule transmission control unit 360 reads the encryption key stored in the encryption rule storage unit 350. The encryption rule transmission control unit 360 generates data for transmitting the encryption key using the address.

通信部370は、暗号ルール送信制御部360からの出力と暗号ルール発行装置100に対する入力とに基づいて作動可能なように構成される。通信部370は、暗号ルール送信制御部360によって生成されたデータを、そのデータに含まれるアドレスに対して送信する。あるいは、通信部370は、インターネット150を介して送信されたデータを受信する。受信されるデータは、暗号変換機120あるいはPLC130によって送信された通信の確認のためのデータ(たとえば、所謂「Ack」信号)を含む。あるいは、通信部370は、FAシステム10の管理者によって操作される管理サーバ(図示しない)から発信された制御信号を受信する。   The communication unit 370 is configured to be operable based on an output from the encryption rule transmission control unit 360 and an input to the encryption rule issuing device 100. The communication unit 370 transmits the data generated by the encryption rule transmission control unit 360 to an address included in the data. Alternatively, the communication unit 370 receives data transmitted via the Internet 150. The received data includes data for confirmation of communication transmitted by the cryptographic converter 120 or the PLC 130 (for example, a so-called “Ack” signal). Alternatively, the communication unit 370 receives a control signal transmitted from a management server (not shown) operated by the administrator of the FA system 10.

図4を参照して、本実施の形態に係る暗号ルール発行装置100の具体的構成の一態様について説明する。図4は、暗号ルール発行装置100として機能するコンピュータシステム400のハードウェア構成を表わすブロック図である。   With reference to FIG. 4, one aspect of a specific configuration of encryption rule issuing apparatus 100 according to the present embodiment will be described. FIG. 4 is a block diagram illustrating a hardware configuration of a computer system 400 that functions as the encryption rule issuing device 100.

コンピュータシステム400は、主たる構成要素として、プログラムを実行するCPU(Central Processing Unit)410と、コンピュータシステム400の使用者による指示の入力を受け付けるマウス420およびキーボード430と、CPU410によるプログラムの実行により生成されたデータ、またはマウス420もしくはキーボード430を介して入力されたデータを揮発的に格納するRAM(Random Access Memory)440と、データを不揮発的に格納するハードディスク450と、CD−ROM(Compact Disc-Read Only Memory)駆動装置460と、モニタ480と、通信I/F(インターフェイス)490とを含む。各ハードウェアは、相互にデータバスによって接続されている。CD−ROM駆動装置460には、CD−ROM462が装着される。   The computer system 400 is generated as a main component by a CPU (Central Processing Unit) 410 that executes a program, a mouse 420 and a keyboard 430 that receive an instruction input by a user of the computer system 400, and the execution of the program by the CPU 410. RAM (Random Access Memory) 440 for storing volatile data or data input via mouse 420 or keyboard 430, hard disk 450 for storing data in a nonvolatile manner, and CD-ROM (Compact Disc-Read) Only Memory) driving device 460, monitor 480, and communication I / F (interface) 490 are included. Each hardware is mutually connected by a data bus. A CD-ROM 462 is mounted on the CD-ROM drive 460.

コンピュータシステム400における処理は、当該ハードウェアおよびCPU410によって実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク450に予め格納されている場合がある。また、ソフトウェアは、CD−ROM462その他の記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、CD−ROM駆動装置460その他の読取装置によってその記録媒体から読み取られた後に、あるいは通信I/F490を介してダウンロードされた後に、ハードディスク450に一旦格納される。そのソフトウェアは、CPU410によってハードディスク450から読み出され、RAM440に実行可能なプログラムの形式で格納される。CPU410は、そのプログラムを実行する。   Processing in the computer system 400 is realized by the hardware and software executed by the CPU 410. Such software may be stored in the hard disk 450 in advance. The software may be stored in a CD-ROM 462 or other recording medium and distributed as a program product. Alternatively, the software may be provided as a program product that can be downloaded by an information provider connected to the so-called Internet. Such software is temporarily stored in the hard disk 450 after being read from the recording medium by the CD-ROM drive 460 or other reading device or after being downloaded via the communication I / F 490. The software is read from the hard disk 450 by the CPU 410 and stored in the RAM 440 in the form of an executable program. CPU 410 executes the program.

図4に示されるコンピュータシステム400を構成するハードウェアは、一般的なものである。したがって、暗号ルール発行装置100の本質的な部分は、RAM440、ハードディスク450、CD−ROM462その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム400の各構成要素の動作は周知であるので、詳細な説明は繰り返さない。   The hardware constituting the computer system 400 shown in FIG. 4 is general. Therefore, it can be said that the essential part of the encryption rule issuing device 100 is software stored in the RAM 440, the hard disk 450, the CD-ROM 462, or other recording medium, or software that can be downloaded via a network. Since the operation of each component of computer system 400 is well known, detailed description will not be repeated.

図5を参照して、暗号ルール発行装置100の制御構造について説明する。図5は、暗号ルール発行装置100として機能するコンピュータシステム400が備えるCPU410が実行する一連の処理を表わすフローチャートである。   With reference to FIG. 5, the control structure of the encryption rule issuing device 100 will be described. FIG. 5 is a flowchart showing a series of processing executed by CPU 410 included in computer system 400 functioning as encryption rule issuing device 100.

ステップS510にて、CPU410は、暗号ルール(暗号鍵と復号鍵)を生成するタイミングの到来を検知する。ステップS520にて、CPU410は、その暗号ルールを生成する対象となるPLCを特定する。CPU410は、そのPLCを特定すると、当該PLCを識別するデータを、RAM440において確保した領域に格納する。   In step S510, CPU 410 detects the arrival of the timing for generating the encryption rule (encryption key and decryption key). In step S520, CPU 410 identifies the PLC for which the encryption rule is to be generated. When the CPU 410 specifies the PLC, the CPU 410 stores data for identifying the PLC in an area secured in the RAM 440.

ステップS530にて、CPU410は、予め準備された実行プログラムに従って、暗号鍵と復号鍵とを生成し、RAM440に確保した領域に格納する。   In step S530, CPU 410 generates an encryption key and a decryption key in accordance with an execution program prepared in advance, and stores it in an area secured in RAM 440.

ステップS540にて、CPU410は、通信I/F490を介して、インターネット150を介して暗号変換機120に対して暗号鍵を送信する。   In step S540, CPU 410 transmits the encryption key to encryption converter 120 via Internet 150 via communication I / F 490.

ステップS550にて、CPU410は、暗号鍵を受信したことを表わす確認信号を暗号変換機120から受信したか否かを判断する。CPU410が、その信号を受信したと判断すると(ステップS550にてYES)、処理はステップS560に移される。そうでない場合には(ステップS550にてNO)、処理はステップS552に移される。   In step S550, CPU 410 determines whether or not a confirmation signal indicating reception of the encryption key has been received from encryption converter 120. If CPU 410 determines that the signal has been received (YES in step S550), the process proceeds to step S560. If not (NO in step S550), the process proceeds to step S552.

ステップS552にて、CPU410は、予め定められた一定時間待機する。その後、制御はステップS550に戻される。なお、待機する処理が実行される間に、通信エラーに対応する処理が実行されてもよい。たとえば、予め規定された時間内に、確認信号が受信できない場合には、CPU410は、当該送信は失敗であると判断し、通信エラーを放置する処理を実行してもよい。   In step S552, CPU 410 waits for a predetermined time. Thereafter, control is returned to step S550. Note that a process corresponding to a communication error may be executed while the standby process is executed. For example, if the confirmation signal cannot be received within a predetermined time, the CPU 410 may determine that the transmission has failed and execute a process of leaving a communication error.

ステップS560にて、CPU410は、インターネット150を介して、PLC130に復号鍵を送信する。   In step S560, CPU 410 transmits the decryption key to PLC 130 via Internet 150.

ステップS570にて、CPU410は、復号鍵を受信したことを表わす確認信号をPLC130から受信したか否かを判断する。CPU410がその信号を受信したと判断すると(ステップS570にてYES)、処理はステップS580に移される。そうでない場合には(ステップS570にてNO)、処理はステップS572に移される。   In step S570, CPU 410 determines whether or not a confirmation signal indicating that the decryption key has been received has been received from PLC 130. If CPU 410 determines that the signal has been received (YES in step S570), the process proceeds to step S580. If not (NO in step S570), the process proceeds to step S572.

ステップS572にて、CPU410は、予め定められた一定時間待機する。その後、制御はステップS570に戻される。なお、ステップS552におけるエラー処理と同様の処理が実行されてもよい。   In step S572, CPU 410 waits for a predetermined time. Thereafter, control is returned to step S570. Note that the same processing as the error processing in step S552 may be executed.

ステップS580にて、CPU410は、作動を終了する指示が入力されたか否かを判断する。CPU410がそのような指示が入力されていると判断すると(ステップS580にてYES)、処理は終了する。そうでない場合には(ステップS580にてNO)、処理はステップS510に戻される。   In step S580, CPU 410 determines whether an instruction to end the operation has been input or not. If CPU 410 determines that such an instruction has been input (YES in step S580), the process ends. If not (NO in step S580), the process returns to step S510.

図6を参照して、暗号ルール発行装置100のデータ構造について説明する。図6は、コンピュータシステム400が備えるハードディスク450におけるデータの格納の一態様を概念的に表わす図である。ハードディスク450は、データを格納するための複数のメモリ領域を含む。   The data structure of the encryption rule issuing device 100 will be described with reference to FIG. FIG. 6 is a diagram conceptually showing one mode of data storage in hard disk 450 provided in computer system 400. Hard disk 450 includes a plurality of memory areas for storing data.

暗号鍵を送信する対象を特定するためのデータは、メモリ領域610に格納される。暗号鍵が送信された日時は、メモリ領域620に格納される。暗号鍵がまだ一度も送信されていない場合には、この領域には、たとえば「NULL」を表わすデータが格納される。CPU410によって生成された暗号鍵は、メモリ領域630に格納される。   Data for specifying a target to which the encryption key is transmitted is stored in the memory area 610. The date and time when the encryption key is transmitted is stored in the memory area 620. If the encryption key has never been transmitted, data representing “NULL” is stored in this area, for example. The encryption key generated by the CPU 410 is stored in the memory area 630.

復号鍵に関するデータについても、暗号鍵に関するデータと同様に格納される。すなわち、復号鍵を送信する対象を特定するためのデータは、メモリ領域640に格納される。復号鍵が送信された日時は、メモリ領域650に格納される。復号鍵が未だ一度も送信されていない場合には、この領域には、前述のように「NULL」が格納される。CPU410によって生成された復号鍵は、メモリ領域660に格納される。   The data related to the decryption key is also stored in the same manner as the data related to the encryption key. That is, data for specifying a target to which the decryption key is transmitted is stored in the memory area 640. The date and time when the decryption key is transmitted is stored in the memory area 650. If the decryption key has not yet been transmitted, “NULL” is stored in this area as described above. The decryption key generated by the CPU 410 is stored in the memory area 660.

次に、図7および図8を参照して、暗号ルール発行装置100によって発信されるデータについて説明する。図7は、暗号ルール発行装置100から暗号変換機120に送信される通信フレーム700を表わす図である。通信フレーム700は、ヘッダ710と、ユーザデータ720と、FCS(Frame Check Sequence)730とを含む。ヘッダ710は、送信元アドレス(すなわち暗号ルール発行装置100のIPアドレス)と、送信先アドレス(すなわち暗号変換機120のIPアドレス)と、送信日時(たとえば、通信フレーム700が生成された日時)とを含む。ユーザデータ720は、CPU410によって生成された暗号鍵を含む。   Next, data transmitted by the encryption rule issuing device 100 will be described with reference to FIGS. FIG. 7 is a diagram illustrating a communication frame 700 transmitted from the encryption rule issuing device 100 to the encryption converter 120. The communication frame 700 includes a header 710, user data 720, and an FCS (Frame Check Sequence) 730. The header 710 includes a transmission source address (that is, the IP address of the cryptographic rule issuing device 100), a transmission destination address (that is, the IP address of the cryptographic converter 120), a transmission date and time (for example, a date and time when the communication frame 700 was generated). including. User data 720 includes an encryption key generated by CPU 410.

図5に示されるステップS540の処理が実行されると、通信フレーム700は、暗号ルール発行装置100から暗号変換機120に送信される。   When the process of step S540 shown in FIG. 5 is executed, the communication frame 700 is transmitted from the encryption rule issuing device 100 to the encryption converter 120.

図8は、暗号ルール発行装置100からPLC130に送信される通信フレーム800を表わす図である。通信フレーム800は、ヘッダ810と、ユーザデータ820と、FCS830とを含む。ヘッダ810は、送信元アドレス(すなわち暗号ルール発行装置100のIPアドレス)と、送信先アドレス(すなわちPLC130のIPアドレス)と、送信日時(通信フレーム800が生成された日時)とを含む。ユーザデータ820は、CPU410によって生成された復号鍵を含む。図5に示されるステップS560の処理が実行されると、通信フレーム800は、暗号ルール発行装置100からPLC130に送信される。   FIG. 8 is a diagram showing a communication frame 800 transmitted from the encryption rule issuing device 100 to the PLC 130. Communication frame 800 includes a header 810, user data 820, and FCS 830. The header 810 includes a transmission source address (that is, the IP address of the encryption rule issuing device 100), a transmission destination address (that is, the IP address of the PLC 130), and a transmission date and time (the date and time when the communication frame 800 was generated). User data 820 includes a decryption key generated by CPU 410. When the process of step S560 shown in FIG. 5 is executed, the communication frame 800 is transmitted from the encryption rule issuing device 100 to the PLC 130.

次に、図9を参照して、本実施の形態に係る暗号変換機120の構成について説明する。図9は、暗号変換機120によって実現される機能の構成を表わすブロック図である。暗号変換機120は、データ入力部910と、プログラム記憶部920と、暗号鍵格納部930と、暗号化処理部940と、暗号化データ配信部950とを含む。   Next, with reference to FIG. 9, the structure of the encryption converter 120 which concerns on this Embodiment is demonstrated. FIG. 9 is a block diagram showing a configuration of functions realized by cryptographic converter 120. The cryptographic converter 120 includes a data input unit 910, a program storage unit 920, an encryption key storage unit 930, an encryption processing unit 940, and an encrypted data distribution unit 950.

データ入力部910は、暗号変換機120の外部からのデータの入力を受け付ける。たとえば、入力が受け付けられるデータは、プログラム開発装置110によって生成されたプログラム、暗号ルール発行装置100によって送信された暗号鍵、あるいは暗号変換機120による暗号化処理を有効にする指示(暗号化指令)などを含む。当該暗号化指令は、暗号ルール発行装置100によって送信される場合もあれば、FAシステム10の管理者によって与えられる場合もある。   The data input unit 910 receives data input from the outside of the cryptographic converter 120. For example, the data for which input is accepted may be a program generated by the program development device 110, an encryption key transmitted by the encryption rule issuing device 100, or an instruction (encryption command) for enabling encryption processing by the encryption converter 120 Etc. The encryption command may be transmitted by the encryption rule issuing device 100 or may be given by the administrator of the FA system 10.

プログラム記憶部920は、データ入力部910によって入力が受け付けられたプログラムを格納する。暗号鍵格納部930は、データ入力部910によって入力が受け付けられた暗号鍵を格納する。   The program storage unit 920 stores a program that has been accepted by the data input unit 910. The encryption key storage unit 930 stores the encryption key that has been accepted by the data input unit 910.

暗号化処理部940は、データ入力部910からの出力と、プログラム記憶部920および暗号鍵格納部930に格納されているデータとに基づいて作動可能なように構成される。より具体的には、暗号化処理部940は、データ入力部910によって入力が受け付けられた暗号化指令に基づいて暗号化処理を実行する。すなわち、暗号化処理部940は、プログラム記憶部920に格納されているプログラムを読み出し、暗号鍵格納部930に格納されている暗号鍵を用いてその読み出したプログラムを暗号化する。   The encryption processing unit 940 is configured to be operable based on an output from the data input unit 910 and data stored in the program storage unit 920 and the encryption key storage unit 930. More specifically, the encryption processing unit 940 executes the encryption process based on the encryption command received by the data input unit 910. That is, the encryption processing unit 940 reads the program stored in the program storage unit 920 and encrypts the read program using the encryption key stored in the encryption key storage unit 930.

暗号化データ配信部950は、暗号化処理部940からの出力に基づいて作動可能なように構成される。より具体的には、暗号化データ配信部950は、暗号化処理部940によって生成されたデータを、当該プログラムを使用する装置(たとえばPLC130)に送信するためのデータを生成する。暗号化データ配信部950は、そのデータを生成した後、送信相手(PLC130等)の間で通信を確立し、通信が確立された後にそのデータを送信する。暗号変換機120によって送信されるデータは後述する。   The encrypted data distribution unit 950 is configured to be operable based on the output from the encryption processing unit 940. More specifically, the encrypted data distribution unit 950 generates data for transmitting the data generated by the encryption processing unit 940 to a device (for example, the PLC 130) that uses the program. After generating the data, the encrypted data distribution unit 950 establishes communication between transmission partners (such as the PLC 130), and transmits the data after the communication is established. Data transmitted by the cryptographic converter 120 will be described later.

ここで、図10を参照して、暗号変換機120の具体的構成の一態様について説明する。図10は、暗号変換機120として機能するコンピュータシステム1000のハードウェア構成を表わすブロック図である。コンピュータシステム1000は、主たる構成要素として、プログラムを実行するCPU1010と、コンピュータシステム1000の使用者による指示の入力を受け付けるマウス1020およびキーボード1030と、CPU1010によるプログラムの実行により生成されたデータまたはマウス1020もしくはキーボード1030を介して入力されたデータを揮発的に格納するRAM1040と、データを不揮発的に格納するハードディスク1050と、CD−ROM駆動装置1060と、モニタ1080と、通信I/F1090とを含む。CD−ROM駆動装置1060には、CD−ROM1062が装着される。   Here, with reference to FIG. 10, an aspect of a specific configuration of the cryptographic converter 120 will be described. FIG. 10 is a block diagram showing a hardware configuration of computer system 1000 that functions as cryptographic converter 120. The computer system 1000 includes, as main components, a CPU 1010 that executes a program, a mouse 1020 and a keyboard 1030 that accept input of instructions by a user of the computer system 1000, data generated by execution of a program by the CPU 1010, or a mouse 1020 or A RAM 1040 that stores data input via the keyboard 1030 in a volatile manner, a hard disk 1050 that stores data in a nonvolatile manner, a CD-ROM drive 1060, a monitor 1080, and a communication I / F 1090 are included. A CD-ROM 1062 is attached to the CD-ROM drive device 1060.

図10に示されるコンピュータシステム1000の各構成要素の機能およびそれらの基本的な動作は、図4に示されるコンピュータシステム400における当該機能および動作と同様である。したがって、ここではそれらについての説明は繰り返さない。   Functions and basic operations of the components of the computer system 1000 shown in FIG. 10 are the same as the functions and operations of the computer system 400 shown in FIG. Therefore, description thereof will not be repeated here.

次に、図11を参照して、暗号変換機120の制御構造について説明する。図11は、暗号変換機120として機能するコンピュータシステム1000が備えるCPU1010が実行する一連の処理を表わすフローチャートである。   Next, the control structure of the cryptographic converter 120 will be described with reference to FIG. FIG. 11 is a flowchart showing a series of processing executed by CPU 1010 provided in computer system 1000 functioning as cryptographic converter 120.

ステップS1110にて、CPU1010は、通信I/F1090を介して、プログラム開発装置110からプログラムを受信したことを検知する。ステップS1120にて、CPU1010は、受信したプログラムをRAM1040において確保したワーク領域に一時的に格納する。その後、CPU1010は、そのプログラムをハードディスク1050に保存する。   In step S1110, CPU 1010 detects that a program has been received from program development device 110 via communication I / F 1090. In step S1120, CPU 1010 temporarily stores the received program in the work area secured in RAM 1040. Thereafter, the CPU 1010 stores the program in the hard disk 1050.

ステップS1130にて、CPU1010は、通信I/F1090を介して暗号ルール発行装置100から暗号鍵を受信したことを検知する。ステップS1140にて、CPU1010は、暗号鍵をRAM1040において確保した領域に格納し、その後、ハードディスク1050に保存する。   In step S1130, CPU 1010 detects that an encryption key has been received from encryption rule issuing device 100 via communication I / F 1090. In step S1140, CPU 1010 stores the encryption key in the area secured in RAM 1040, and then stores it in hard disk 1050.

ここで、図12および図13を参照して、暗号変換機120のデータ構造について説明する。図12および図13はそれぞれ、ハードディスク1050におけるデータの格納の一態様を概念的に表わす図である。   Here, the data structure of the cryptographic converter 120 will be described with reference to FIGS. 12 and 13 are diagrams conceptually showing one mode of data storage in hard disk 1050, respectively.

図12を参照して、ハードディスク1050は、データを格納するための複数のメモリ領域を含む。プログラム開発装置110によって生成されたプログラムを使用する装置を識別するためのデータ(プログラムユーザ)は、メモリ領域1210に格納されている。当該プログラムユーザが実際に使用するプログラムを識別するためのデータ(プログラムID)は、メモリ領域1220に格納される。当該プログラムIDによって特定される具体的なプログラムデータは、メモリ領域1230に格納される。   Referring to FIG. 12, hard disk 1050 includes a plurality of memory areas for storing data. Data (program user) for identifying a device that uses a program generated by the program development device 110 is stored in the memory area 1210. Data (program ID) for identifying a program actually used by the program user is stored in the memory area 1220. Specific program data specified by the program ID is stored in the memory area 1230.

図13を参照して、暗号ルール発行装置100によって送信された暗号鍵を識別するためのデータ(暗号鍵ID)は、メモリ領域1310に格納される。その暗号鍵IDによって特定される暗号鍵の具体的なデータは、メモリ領域1320に格納される。   Referring to FIG. 13, data (encryption key ID) for identifying the encryption key transmitted by encryption rule issuing device 100 is stored in memory area 1310. Specific data of the encryption key specified by the encryption key ID is stored in the memory area 1320.

次に、図14を参照して、暗号変換機120によって発信されるデータについて説明する。図14は、暗号変換機120からPLC130に送信される通信フレーム1400を表わす図である。   Next, with reference to FIG. 14, the data transmitted by the cryptographic converter 120 will be described. FIG. 14 is a diagram illustrating a communication frame 1400 transmitted from the cryptographic converter 120 to the PLC 130.

通信フレーム1400は、ヘッダ1410と、ユーザデータ1420と、FCS1430とを含む。ヘッダ1410は、送信元アドレス(すなわち暗号変換機120のIPアドレス)と、送信先アドレス(すなわちPLC130のIPアドレス)と、送信日時(すなわち通信フレーム1400が生成された日時)とを含む。ユーザデータ1420は、暗号変換機120において暗号化されたプログラムを含む。   Communication frame 1400 includes header 1410, user data 1420, and FCS 1430. The header 1410 includes a transmission source address (that is, the IP address of the cryptographic converter 120), a transmission destination address (that is, the IP address of the PLC 130), and a transmission date and time (that is, the date and time when the communication frame 1400 was generated). User data 1420 includes a program encrypted in cryptographic converter 120.

通信フレーム1400は、暗号変換機120とPLC130との通信が確立された後に、暗号変換機120によって送信される。また、他の局面においては、PLC130が通信フレーム1400を受信していない旨の確認信号が暗号変換機120によって受信されたときに、通信フレーム1400が再び送信されるものであってもよい。   The communication frame 1400 is transmitted by the cryptographic converter 120 after the communication between the cryptographic converter 120 and the PLC 130 is established. In another aspect, when the confirmation signal indicating that the PLC 130 has not received the communication frame 1400 is received by the cryptographic converter 120, the communication frame 1400 may be transmitted again.

図15を参照して、暗号変換機120の制御構造について説明する。図15は、暗号変換機120として機能するコンピュータシステム1000のCPU1010が実行する一連の処理を表わすフローチャートである。   With reference to FIG. 15, the control structure of the cryptographic converter 120 will be described. FIG. 15 is a flowchart showing a series of processing executed by CPU 1010 of computer system 1000 functioning as cryptographic converter 120.

ステップS1510にて、CPU1010は、通信I/F1090を介してプログラムを暗号化する処理を実行する指示を受信する。この指示は、暗号ルール発行装置100から送信されるデータに含まれている場合もあれば、FAシステム10の管理者によって与えられる場合もある。   In step S1510, CPU 1010 receives an instruction to execute processing for encrypting a program via communication I / F 1090. This instruction may be included in data transmitted from the encryption rule issuing device 100, or may be given by the administrator of the FA system 10.

ステップS1520にて、CPU1010は、その指示に基づいて、暗号化の対象となるプログラムと、暗号化に用いられる暗号鍵と、そのプログラムの使用者であるPLC130とを特定する。   In step S1520, based on the instruction, CPU 1010 specifies a program to be encrypted, an encryption key used for encryption, and PLC 130 that is a user of the program.

ステップS1530にて、CPU1010は、特定した暗号鍵を用いてそのプログラムを暗号化し、RAM1040に一時的に格納する。この暗号化されたデータの送信が完了しない場合には、CPU1010は、RAM1040に格納されているそのデータをハードディスク1050において確保した領域に保存する。   In step S1530, CPU 1010 encrypts the program using the specified encryption key, and temporarily stores it in RAM 1040. When the transmission of the encrypted data is not completed, the CPU 1010 stores the data stored in the RAM 1040 in an area secured in the hard disk 1050.

ステップS1540にて、CPU1010は、特定されたPLC130との間で通信を確立するための処理を実行する。ステップS1550にて、CPU1010は、PLC130との間の通信セッションが確立しているか否かを判断する。CPU1010が、通信セッションは確立していると判断すると(ステップS1550にてYES)、処理はステップS1560に移される。そうでない場合には(ステップS1550にてNO)、処理はステップS1540に戻され、通信を確立するための処理が継続される。   In step S1540, CPU 1010 executes processing for establishing communication with identified PLC 130. In step S1550, CPU 1010 determines whether or not a communication session with PLC 130 has been established. If CPU 1010 determines that a communication session has been established (YES in step S1550), the process proceeds to step S1560. If not (NO in step S1550), the process returns to step S1540, and the process for establishing communication is continued.

ステップS1560にて、CPU1010は、暗号化されたプログラムを送信するためのデータ(たとえば通信フレーム1400)を生成する。ステップS1570にて、CPU1010は、生成した通信フレーム1400をインターネット150を介してPLC130に送信する。   In step S1560, CPU 1010 generates data (eg, communication frame 1400) for transmitting the encrypted program. In step S1570, CPU 1010 transmits generated communication frame 1400 to PLC 130 via Internet 150.

ステップS1580にて、CPU1010は、プログラムの受信の完了通知をPLC130から受信したか否かを判断する。たとえば、この判断は、暗号変換機120とPLC130との間の通信セッションが確立している間に行なわれる通信に含まれるデータに基づいて行なわれる。CPU1010が、当該完了通知を受信していると判断すると(ステップS1580にてYES)、処理はステップS1590に移される。そうでない場合には(ステップS1580にてNO)、処理はステップS1582に移される。   In step S1580, CPU 1010 determines whether a program reception completion notification is received from PLC 130 or not. For example, this determination is made based on data included in the communication performed while the communication session between the cryptographic converter 120 and the PLC 130 is established. If CPU 1010 determines that the completion notification has been received (YES in step S1580), the process proceeds to step S1590. If not (NO in step S1580), the process proceeds to step S1582.

ステップS1582にて、CPU1010は、予め定められた一定時間待機する。
ステップS1590にて、CPU1010は、PLC130との通信を終了する。
In step S1582, CPU 1010 waits for a predetermined time.
In step S1590, CPU 1010 ends communication with PLC 130.

ここで、図16を参照して、本実施の形態に係るPLC132の構成について説明する。図16は、PLC130のハードウェア構成を表わすブロック図である。PLC130は、インナーボード1610とコントローラ1620とを備える。インナーボード1610とコントローラ1620とは、CPUバス1630によって接続されている。   Here, with reference to FIG. 16, the structure of PLC132 which concerns on this Embodiment is demonstrated. FIG. 16 is a block diagram showing a hardware configuration of PLC 130. The PLC 130 includes an inner board 1610 and a controller 1620. Inner board 1610 and controller 1620 are connected by CPU bus 1630.

インナーボード1610は、インナーボードCPU1612と、メモリ1614と、通信インターフェイス1616とを含む。コントローラ1620は、コントローラCPU1622と、I/O(Input/Output)ユニット1624と、実行メモリ1626と、ツール1628とを含む。コントローラCPU1622とI/Oユニット1624とは、I/Oバス1640によって接続されている。   The inner board 1610 includes an inner board CPU 1612, a memory 1614, and a communication interface 1616. The controller 1620 includes a controller CPU 1622, an input / output (I / O) unit 1624, an execution memory 1626, and a tool 1628. The controller CPU 1622 and the I / O unit 1624 are connected by an I / O bus 1640.

インナーボードCPU1612は、インナーボード1610の動作を制御する。より詳しくは、インナーボードCPU1612は、通信インターフェイス1616を介してPLC130にネットワーク接続されている他の装置と通信する。インナーボードCPU1612は、通信インターフェイス1616を介して受信したデータを、メモリ1614に格納する。また、インナーボードCPU1612は、CPUバス1630を介してコントローラCPU1622と通信する。   The inner board CPU 1612 controls the operation of the inner board 1610. More specifically, the inner board CPU 1612 communicates with other devices connected to the PLC 130 via the communication interface 1616. The inner board CPU 1612 stores the data received via the communication interface 1616 in the memory 1614. The inner board CPU 1612 communicates with the controller CPU 1622 via the CPU bus 1630.

コントローラCPU1622は、コントローラ1620の動作を制御する。より詳しくは、コントローラCPU1622は、CPUバス1630を介してインナーボード1610から受信したデータを、実行メモリ1626に格納する。格納されるデータには、ツール1628の動作を制御するためのプログラムが含まれる。   The controller CPU 1622 controls the operation of the controller 1620. More specifically, the controller CPU 1622 stores the data received from the inner board 1610 via the CPU bus 1630 in the execution memory 1626. The stored data includes a program for controlling the operation of the tool 1628.

コントローラCPU1622は、I/Oユニット1624を介してPLC130に接続されている設備機器140の動作を制御するためのデータを出力し、あるいは設備機器140から出力されたデータの入力を受け付ける。ツール1628は、設備機器140の動作を制御するためのプログラムにアクセスするためのインターフェイスとして機能する。   The controller CPU 1622 outputs data for controlling the operation of the facility device 140 connected to the PLC 130 via the I / O unit 1624 or accepts input of data output from the facility device 140. Tool 1628 functions as an interface for accessing a program for controlling the operation of facility device 140.

次に、図17を参照して、PLC130のデータ構造について説明する。図17は、メモリ1614におけるデータの格納の一態様を概念的に表わす図である。メモリ1614は、データを格納するためのメモリ領域を含む。メモリ領域1710は、リザーブ領域として使用される。たとえば、PLC130が新たにデータを外部から受信したとき、そのデータはリザーブ領域1710に格納される。   Next, the data structure of the PLC 130 will be described with reference to FIG. FIG. 17 conceptually shows one mode of data storage in memory 1614. Memory 1614 includes a memory area for storing data. The memory area 1710 is used as a reserved area. For example, when the PLC 130 newly receives data from the outside, the data is stored in the reserved area 1710.

PLC130が受信したプログラムは、メモリ領域1720に格納される。このプログラムは、図14に示されるユーザデータ1420に含まれているものである。   The program received by the PLC 130 is stored in the memory area 1720. This program is included in the user data 1420 shown in FIG.

暗号ルール発行装置100によって送信された復号鍵は、メモリ領域1730に格納される。この復号鍵は、図8に示されるユーザデータ820に含まれるものである。PLC130を識別するための認証コードは、メモリ領域1740に格納される。認証コードは、FAシステム10が構築された際に、管理者によって入力される。   The decryption key transmitted by the encryption rule issuing device 100 is stored in the memory area 1730. This decryption key is included in the user data 820 shown in FIG. An authentication code for identifying PLC 130 is stored in memory area 1740. The authentication code is input by the administrator when the FA system 10 is constructed.

PLC130に固有なPLCIDは、メモリ領域1750に格納される。PLCIDは、たとえばPLC130が製造された際に与えられるPLCに固有な製造番号である。   The PLCID unique to the PLC 130 is stored in the memory area 1750. The PLCID is a serial number unique to the PLC given when the PLC 130 is manufactured, for example.

暗号化されたデータを復号するための復号処理プログラムは、メモリ領域1760に格納される。復号処理プログラムは、たとえばメモリ領域1730に格納されている復号鍵を用いて、メモリ領域1720に格納されているプログラムを復号する。   A decryption processing program for decrypting the encrypted data is stored in the memory area 1760. For example, the decryption processing program decrypts the program stored in the memory area 1720 using the decryption key stored in the memory area 1730.

PLC130と暗号ルール発行装置100あるいは暗号変換機120との通信を制御するための通信制御プログラムは、メモリ領域1770に格納される。   A communication control program for controlling communication between the PLC 130 and the encryption rule issuing device 100 or the encryption converter 120 is stored in the memory area 1770.

PLC130の基本的な動作を制御するためのオペレーティングシステムは、メモリ領域1780に格納されている。   An operating system for controlling basic operations of the PLC 130 is stored in the memory area 1780.

次に、図18を参照して、PLC130の制御構造について説明する。図18は、PLC130が備えるインナーボードCPU1612が実行する一連の処理を表わすフローチャートである。   Next, the control structure of the PLC 130 will be described with reference to FIG. FIG. 18 is a flowchart showing a series of processes executed by inner board CPU 1612 provided in PLC 130.

ステップS1810にて、インナーボードCPU1612は、暗号変換機120との通信を確立する。ステップS1820にて、インナーボードCPU1612は、暗号化されたプログラムを暗号変換機120から受信したことを検知する。   In step S1810, the inner board CPU 1612 establishes communication with the cryptographic converter 120. In step S1820, inner board CPU 1612 detects that an encrypted program has been received from cipher converter 120.

ステップS1830にて、インナーボードCPU1612は、暗号ルール(復号鍵)を認証する。ステップS1840にて、インナーボードCPU1612は、暗号ルールが一致するか否かを判断する。たとえば、インナーボードCPU1612は、受信したデータに含まれている復号鍵と、メモリ1614に既に格納されている復号鍵とが一致するか否かを判断する。あるいは、他の局面においては、インナーボードCPU1612が暗号鍵を受信した場合には、当該暗号鍵と、メモリ1614に既に保存されている復号鍵とが対応するか否かを判断する。インナーボードCPU1612が、それらの暗号ルールは一致すると判断すると(ステップS1840にてYES)、処理はステップS1850に移される。そうでない場合には(ステップS1840にてNO)、処理はステップS1880に移される。   In step S1830, inner board CPU 1612 authenticates the encryption rule (decryption key). In step S1840, inner board CPU 1612 determines whether the encryption rules match. For example, the inner board CPU 1612 determines whether or not the decryption key included in the received data matches the decryption key already stored in the memory 1614. Alternatively, in another aspect, when inner board CPU 1612 receives an encryption key, it determines whether the encryption key corresponds to a decryption key already stored in memory 1614. If inner board CPU 1612 determines that the encryption rules match (YES in step S1840), the process proceeds to step S1850. If not (NO in step S1840), the process proceeds to step S1880.

ステップS1850にて、インナーボードCPU1612は、その暗号鍵を用いて暗号化されているプログラムを復号化する。   In step S1850, inner board CPU 1612 decrypts the encrypted program using the encryption key.

ステップS1860にて、インナーボードCPU1612は、復号されたプログラムをメモリ1614のメモリ領域1710に格納する。ステップS1870にて、インナーボードCPU1612は、復号されたプログラムをコントローラ1620に送信する。コントローラCPU1622は、そのプログラムを受信すると、実行メモリ1620にそのプログラムを格納する。ステップS1890にて、インナーボードCPU1612は、通信インターフェイス1616を介して行なわれていた暗号変換機120との通信を終了する。   In step S1860, inner board CPU 1612 stores the decrypted program in memory area 1710 of memory 1614. In step S1870, inner board CPU 1612 transmits the decrypted program to controller 1620. When controller CPU 1622 receives the program, controller CPU 1622 stores the program in execution memory 1620. In step S1890, inner board CPU 1612 ends communication with cipher converter 120 performed via communication interface 1616.

図19を参照して、PLC130における実行プログラムの移送について説明する。図19は、メモリ1614と実行メモリ1616との間で行なわれるデータ処理を表わす図である。   With reference to FIG. 19, the transfer of the execution program in the PLC 130 will be described. FIG. 19 is a diagram illustrating data processing performed between memory 1614 and execution memory 1616.

メモリ1614は、データを格納するためのメモリ領域1910,1920を含む。メモリ領域1920は、図17におけるメモリ領域1710に相当する。同様に、メモリ領域1910は、メモリ領域1720,1730,1740に対応する。暗号化されたプログラムが復号鍵を用いて復号されるとそのデータはメモリ領域1920に格納される。   Memory 1614 includes memory areas 1910 and 1920 for storing data. The memory area 1920 corresponds to the memory area 1710 in FIG. Similarly, the memory area 1910 corresponds to the memory areas 1720, 1730, 1740. When the encrypted program is decrypted using the decryption key, the data is stored in the memory area 1920.

インナーボードCPU1612がコントローラCPU1622との間で通信を行ない、実行プログラムが位相できる状態にあることを確認すると、インナーボードCPU1612は、メモリ1614から実行プログラムを読み出して、その実行プログラムをCPUバス1630に送信する。コントローラCPU1622は、その実行プログラムを受信すると、実行メモリ1626において確保したメモリ領域1930に格納する。設備機器140は、実行メモリ1626に格納されたそのプログラムに基づいて制御される。   When the inner board CPU 1612 communicates with the controller CPU 1622 and confirms that the execution program is in a phased state, the inner board CPU 1612 reads the execution program from the memory 1614 and transmits the execution program to the CPU bus 1630. To do. When the controller CPU 1622 receives the execution program, it stores it in the memory area 1930 secured in the execution memory 1626. The equipment 140 is controlled based on the program stored in the execution memory 1626.

以上のようにして、本実施の形態に係るFAシステム10によると、設備機器140を制御するためのプログラムは、暗号変換機120によって暗号化されたプログラムとして、PLC130に送信される。当該暗号化は、暗号ルール発行装置100によって生成された暗号ルールに基づいて行なわれる。たとえば、暗号ルール発行装置100が暗号鍵と復号鍵とを生成する場合には、暗号変換機120は、その暗号鍵を用いて制御プログラムを暗号化する。   As described above, according to the FA system 10 according to the present embodiment, the program for controlling the equipment device 140 is transmitted to the PLC 130 as a program encrypted by the cryptographic converter 120. The encryption is performed based on the encryption rule generated by the encryption rule issuing device 100. For example, when the encryption rule issuing device 100 generates an encryption key and a decryption key, the encryption converter 120 encrypts the control program using the encryption key.

一方、PLC130は、上記の復号鍵を暗号ルール発行装置100から受信し、暗号からされたプログラムを暗号変換機120から受信する。PLC130は、暗号変換機120から受信したデータと、暗号ルール発行装置100から受信したデータとに基づいて、認証処理を実行する。たとえば、PLC130は、暗号変換機120から受信した暗号鍵と、暗号ルール発行装置120から受信した復号鍵(あるいは暗号鍵)とが対応するか(あるいは一致するか)否かを判断する。これらの鍵が対応する場合、あるいは一致する場合、認証処理は成功する。   On the other hand, the PLC 130 receives the decryption key from the encryption rule issuing device 100 and receives the encrypted program from the encryption converter 120. The PLC 130 performs an authentication process based on the data received from the cryptographic converter 120 and the data received from the cryptographic rule issuing device 100. For example, the PLC 130 determines whether or not the encryption key received from the encryption converter 120 and the decryption key (or encryption key) received from the encryption rule issuing device 120 correspond (or match). If these keys correspond or match, the authentication process succeeds.

認証処理が成功すると、PLC130は、復号鍵を用いて、暗号化されたプログラムを復号する。したがって、その後、PLC130は、復号された制御プログラムに基づいて制御機器を制御する。   If the authentication process is successful, the PLC 130 decrypts the encrypted program using the decryption key. Therefore, after that, the PLC 130 controls the control device based on the decoded control program.

ここで、PLC130の電源がオフにされた後、再び電源がオンに設定されると、PLC130は、内部のメモリに格納されている制御プログラムあるいは暗号化された状態のプログラムを消去する。したがって、仮に、第三者がPLC130が使用するプログラムのデータを取得するために、不法にPLC130の電源をオンに入れても、当該プログラムは削除されるため、プログラムの漏洩が防止される。   When the power of the PLC 130 is turned off and then turned on again, the PLC 130 erases the control program stored in the internal memory or the encrypted program. Therefore, even if a third party illegally turns on the power of the PLC 130 in order to obtain data of the program used by the PLC 130, the program is deleted, so that leakage of the program is prevented.

このような場合、PLC130は、暗号変換機120と通信して、新たに暗号化されたプログラムの送信を要求する。PLC130がプログラムの送信を要求したことに基づいて、新たな暗号ルールの発行要求が暗号ルール発行装置100に対して送信される。この発行要求は、PLC130によって生成されて送信されてもよいし、暗号変換機120によって生成されて送信されてもよい。   In such a case, the PLC 130 communicates with the cryptographic converter 120 to request transmission of a newly encrypted program. Based on the request for transmission of the program by the PLC 130, a new cryptographic rule issuance request is transmitted to the cryptographic rule issuing device 100. This issue request may be generated and transmitted by the PLC 130, or may be generated and transmitted by the cryptographic converter 120.

暗号ルール発行装置100は、当該発行要求に基づいて、新たな暗号ルールを生成する。暗号ルール発行装置100は、暗号ルールとして一組の新たな暗号鍵と復号鍵とを生成すると、暗号鍵を暗号変換機120に送信し、復号鍵をPLC130に送信する。   The encryption rule issuing device 100 generates a new encryption rule based on the issue request. When the encryption rule issuing device 100 generates a pair of new encryption key and decryption key as the encryption rule, the encryption rule issuing device 100 transmits the encryption key to the encryption converter 120 and transmits the decryption key to the PLC 130.

暗号変換機120は、その新たな暗号鍵を用いて、PLC130が使用する制御プログラム(すなわち、削除されたプログラム)を暗号化して、PLC130に送信する。   The cryptographic converter 120 encrypts the control program (that is, the deleted program) used by the PLC 130 using the new encryption key, and transmits the encrypted control program to the PLC 130.

PLC130は、暗号ルール発行装置100によって送信された復号鍵に基づいて、新たに暗号化された制御プログラムを復号化する。PLC130は、復号化した制御プログラムを実行して、設備機器140を制御する。これにより、FAシステム10は、PLC130が稼動していない間(たとえば、PLC130の電源がオフになっている間)、設備機器140を制御するためのプログラムの秘密を維持することができる。   The PLC 130 decrypts the newly encrypted control program based on the decryption key transmitted by the encryption rule issuing device 100. The PLC 130 executes the decrypted control program to control the equipment device 140. Thereby, the FA system 10 can maintain the secret of the program for controlling the equipment 140 while the PLC 130 is not operating (for example, while the power of the PLC 130 is turned off).

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施の形態に係るファクトリ・オートメーション(FAシステム)10の構成を表わす図である。It is a figure showing the structure of the factory automation (FA system) 10 which concerns on embodiment of this invention. FAシステム10において実行される一連の処理を表わすフローチャートである。3 is a flowchart showing a series of processes executed in FA system 10. 本発明の実施の形態に係る暗号ルール発行装置100によって実現される機能の構成を表わすブロック図である。It is a block diagram showing the structure of the function implement | achieved by the encryption rule issuing apparatus 100 which concerns on embodiment of this invention. 本発明の実施の形態に係る暗号ルール発行装置100として機能するコンピュータシステム400のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of the computer system 400 which functions as the encryption rule issuing apparatus 100 concerning embodiment of this invention. 暗号ルール発行装置100として機能するコンピュータシステム400が備えるCPU410が実行する一連の動作を表わすフローチャートである。4 is a flowchart showing a series of operations executed by CPU 410 included in computer system 400 functioning as encryption rule issuing device 100. コンピュータシステム400が備えるハードディスク450におけるデータの格納の一態様を概念的に表わす図である。FIG. 11 is a diagram conceptually showing one aspect of data storage in a hard disk 450 provided in the computer system 400. 暗号ルール発行装置100から暗号変換機120に送信される通信フレーム700を表わす図である。It is a figure showing the communication frame 700 transmitted to the encryption converter 120 from the encryption rule issuing apparatus 100. FIG. 暗号ルール発行装置100からPLC130に送信される通信フレーム800を表わす図である。It is a figure showing the communication frame 800 transmitted from the encryption rule issuing apparatus 100 to PLC130. 暗号変換機120によって実現される機能の構成を表わすブロック図である。3 is a block diagram illustrating a configuration of functions realized by a cryptographic converter 120. FIG. 暗号変換機120として機能するコンピュータシステム1000のハードウェア構成を表わすブロック図である。2 is a block diagram illustrating a hardware configuration of a computer system 1000 that functions as a cryptographic converter 120. FIG. コンピュータシステム1000が備えるCPU1010が実行する一連の動作を表わすフローチャートである。12 is a flowchart showing a series of operations executed by CPU 1010 included in computer system 1000. ハードディスク1050におけるデータの格納の一態様を概念的に表わす図(その1)である。FIG. 3 is a diagram (part 1) conceptually showing one aspect of data storage in hard disk 1050. ハードディスク1050におけるデータの格納の一態様を概念的に表わす図(その2)である。FIG. 11 is a diagram (part 2) conceptually showing one aspect of data storage in hard disk 1050. 暗号変換機120からPLC130に送信される通信フレーム1400を表わす図である。It is a figure showing the communication frame 1400 transmitted from the encryption converter 120 to PLC130. 暗号変換機120として機能するコンピュータシステム1000のCPU1010が実行する一連の処理を表わすフローチャートである。12 is a flowchart showing a series of processing executed by CPU 1010 of computer system 1000 functioning as cryptographic converter 120. 本発明の実施の形態に係るPLC132のハードウェア構成を表わすブロック図である。It is a block diagram showing the hardware constitutions of PLC132 which concerns on embodiment of this invention. PLC130のメモリ1614におけるデータの格納の一態様を概念的に表わす図である。It is a figure which represents notionally the one aspect | mode of the storage of the data in the memory 1614 of PLC130. PLC130が備えるインナーボードCPU1612が実行する一連の動作を表わすフローチャートである。It is a flowchart showing a series of operation | movement which innerboard CPU1612 with which PLC130 is provided performs. メモリ1614と実行メモリ1626との間で行なわれるデータの移送を表わす図である。FIG. 11 is a diagram representing data transfer performed between a memory 1614 and an execution memory 1626.

符号の説明Explanation of symbols

10 FA(ファクトリーオートメーション)システム、150 インターネット、152 ケーブル、154 LAN、400,1000 コンピュータシステム、462,1062 CD−ROM、700,800,1400 通信フレーム、1630 CPUバス、1640 I/Oバス。   10 FA (Factory Automation) System, 150 Internet, 152 Cable, 154 LAN, 400,1000 Computer System, 462,1062 CD-ROM, 700,800,1400 Communication Frame, 1630 CPU Bus, 1640 I / O Bus.

Claims (14)

機器を制御するための制御システムであって、前記制御システムは、
暗号処理に使用される暗号データを生成する暗号データ生成装置と、
通信回線を介して前記暗号データ生成装置に接続され、前記機器を制御するプログラムを暗号化する暗号化装置と、
前記通信回線によって前記暗号データ生成装置と前記暗号化装置とに接続され、前記プログラムに基づいて前記機器を制御する制御装置とを備え、
前記暗号データ生成装置は、
前記プログラムの暗号化と復号化とに使用される前記暗号データを生成する生成手段と、
第1の暗号データとして前記暗号データを前記暗号化装置に送信する第1の暗号データ送信手段と、
第2の暗号データとして前記暗号データを前記制御装置に送信する第2の暗号データ送信手段とを含み、
前記暗号化装置は、
前記プログラムを格納する記憶手段と、
前記第1の暗号データを受信する暗号データ受信手段と、
前記第1の暗号データに基づいて前記プログラムを暗号化して暗号プログラムを生成する暗号化手段と、
前記暗号プログラムを前記制御装置に送信する送信手段とを含み、
前記制御装置は、
前記暗号化装置から送信された前記暗号プログラムと、前記暗号データ生成装置から送信された前記第2の暗号データとを受信する受信手段と、
前記第2の暗号データを格納する暗号データ記憶手段と、
前記第2の暗号データに基づいて、前記暗号プログラムを復号する復号化手段と、
復号された前記プログラムを格納するプログラム記憶手段と、
前記プログラム記憶手段に格納されているプログラムに基づいて、前記機器を制御する制御手段とを含む、制御システム。
A control system for controlling a device, the control system comprising:
An encryption data generation device for generating encryption data used for encryption processing;
An encryption device that is connected to the encrypted data generation device via a communication line and encrypts a program for controlling the device;
A controller that is connected to the encrypted data generation device and the encryption device by the communication line and controls the device based on the program;
The encrypted data generation device includes:
Generating means for generating the encrypted data used for encryption and decryption of the program;
First encrypted data transmitting means for transmitting the encrypted data as the first encrypted data to the encryption device;
Second encrypted data transmitting means for transmitting the encrypted data to the control device as second encrypted data,
The encryption device is:
Storage means for storing the program;
Encrypted data receiving means for receiving the first encrypted data;
Encryption means for encrypting the program based on the first encrypted data to generate an encrypted program;
Transmitting means for transmitting the encryption program to the control device,
The controller is
Receiving means for receiving the encryption program transmitted from the encryption device and the second encryption data transmitted from the encryption data generation device;
Encrypted data storage means for storing the second encrypted data;
Decryption means for decrypting the encryption program based on the second encryption data;
Program storage means for storing the decrypted program;
And a control unit that controls the device based on a program stored in the program storage unit.
前記生成手段は、前記プログラムを暗号化するための暗号鍵と、前記暗号鍵を用いた暗号化により生成された暗号プログラムを復号化するための復号鍵とを生成し、
前記第1の暗号データ送信手段は、前記暗号鍵を前記暗号化装置に送信し、
前記第2の暗号データ送信手段は、前記復号鍵を前記制御装置に送信する、請求項1に記載の制御システム。
The generation means generates an encryption key for encrypting the program and a decryption key for decrypting an encryption program generated by encryption using the encryption key,
The first encrypted data transmitting means transmits the encryption key to the encryption device;
The control system according to claim 1, wherein the second encrypted data transmission unit transmits the decryption key to the control device.
前記送信手段は、前記制御装置に対して、前記暗号プログラムに加えて前記第1の暗号データをさらに送信し、
前記制御装置は、前記第1の暗号データと前記第2の暗号データとに基づいて、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものであるか否かを確認する認証手段をさらに含み、
前記復号化手段は、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものである場合に、前記暗号プログラムを復号する、請求項1に記載の制御システム。
The transmission means further transmits the first encrypted data to the control device in addition to the encryption program,
The control device confirms whether or not the encryption program is an encrypted program for controlling the device based on the first encryption data and the second encryption data. Further including
The control system according to claim 1, wherein the decryption unit decrypts the encryption program when the encryption program is an encrypted program for controlling the device.
前記第1の暗号データは、前記プログラムを暗号化するための暗号鍵を含み、
前記第2の暗号データは、前記暗号鍵を用いた暗号化によって生成された暗号プログラムを復号するための復号鍵を含み、
前記認証手段は、前記暗号鍵と前記復号鍵とが対応する場合に、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものであると判断する、請求項3に記載の制御システム。
The first encrypted data includes an encryption key for encrypting the program,
The second encryption data includes a decryption key for decrypting an encryption program generated by encryption using the encryption key,
The control system according to claim 3, wherein the authentication unit determines that the encryption program is an encrypted program for controlling the device when the encryption key and the decryption key correspond to each other. .
前記生成手段は、予め定められた時間ごとに、新たな前記暗号データを生成し、
前記第1の暗号データ送信手段は、前記予め定められた時間ごとに、新たに生成された前記暗号データを、前記第1の暗号データとして前記暗号化装置に送信し、
前記第2の暗号データ送信手段は、前記予め定められた時間ごとに、新たに生成された前記暗号データを、前記第2の暗号データとして前記制御装置に送信する、請求項1に記載の制御システム。
The generating means generates new encrypted data every predetermined time,
The first encrypted data transmission means transmits the newly generated encrypted data at the predetermined time as the first encrypted data to the encryption device,
2. The control according to claim 1, wherein the second encrypted data transmission unit transmits the newly generated encrypted data to the control device as the second encrypted data at each predetermined time. system.
前記制御装置は、
電源のオンとオフとの切り換えを検知する検知手段と、
前記切り換えの検知に基づいて、前記暗号化装置に対して、新たな前記暗号プログラムの送信を要求する第1の要求手段とをさらに含み、
前記暗号化装置は、新たな前記暗号プログラムの送信の要求を受信したことを検知する受信検知手段をさらに含み、
前記送信手段は、前記送信の要求を受信したことに基づいて、新たな前記暗号プログラムを前記制御装置に送信し、
前記復号化手段は、新たな前記暗号プログラムを復号する、請求項1に記載の制御システム。
The controller is
Detection means for detecting switching of power on and off;
Based on the detection of the switching, further including a first request means for requesting the encryption apparatus to transmit a new encryption program;
The encryption apparatus further includes reception detection means for detecting that a request for transmission of a new encryption program has been received,
The transmission means transmits the new encryption program to the control device based on receiving the transmission request,
The control system according to claim 1, wherein the decryption unit decrypts the new encryption program.
前記制御装置は、前記切り換えの検知に基づいて、新たな前記第2の暗号データの送信要求を、前記暗号データ生成装置に送信する第2の要求手段をさらに含み、
前記生成手段は、前記第2の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成し、
前記第1の暗号データ送信手段は、新たに生成した前記暗号データを、前記第1の暗号データとして前記暗号化装置に送信し、
前記第2の暗号データ送信手段は、新たに生成した前記暗号データを、前記第2の暗号データとして前記制御装置に送信する、請求項6に記載の制御システム。
The control device further includes second request means for transmitting a new transmission request for the second encrypted data to the encrypted data generation device based on the detection of the switching,
The generation means generates new encrypted data based on receiving the transmission request for the second encrypted data,
The first encrypted data transmitting means transmits the newly generated encrypted data to the encryption device as the first encrypted data,
The control system according to claim 6, wherein the second encrypted data transmission unit transmits the newly generated encrypted data to the control device as the second encrypted data.
機器を制御する制御装置を備えるシステムを制御するための制御方法であって、
前記システムは、
暗号処理に使用される暗号データを生成する暗号データ生成装置と、
通信回線を介して前記暗号データ生成装置に接続され、前記機器を制御するプログラムを暗号化する暗号化装置と、
前記通信回線によって前記暗号データ生成装置と前記暗号化装置とに接続され、前記プログラムに基づいて前記機器を制御する制御装置とを備え、
前記制御方法は、
前記暗号データ生成装置が、前記プログラムの暗号化と復号化とに使用される前記暗号データを生成する生成ステップと、
前記暗号データ生成装置が、第1の暗号データとして前記暗号データを前記暗号化装置に送信する第1の送信ステップと、
前記暗号データ生成装置が、第2の暗号データとして前記暗号データを前記制御装置に送信する第2の送信ステップと、
前記暗号化装置が、前記プログラムをロードするステップと、
前記暗号化装置が、前記第1の暗号データを受信する受信ステップと、
前記暗号化装置が、前記第1の暗号データに基づいて前記プログラムを暗号化して暗号プログラムを生成する暗号化ステップと、
前記暗号化装置が、前記暗号プログラムを前記制御装置に送信する送信ステップと、
前記制御装置が、前記暗号化装置から送信された前記暗号プログラムと、前記暗号データ生成装置から送信された前記第2の暗号データとを受信する受信ステップと、
前記制御装置が、前記第2の暗号データを格納する暗号データ記憶ステップと、
前記制御装置が、前記第2の暗号データに基づいて、前記暗号プログラムを復号する復号化ステップと、
前記制御装置が、復号された前記プログラムを保存するステップと、
前記制御装置が、前記保存されたプログラムに基づいて、前記機器を制御する制御ステップとを含む、制御方法。
A control method for controlling a system comprising a control device for controlling equipment,
The system
An encryption data generation device for generating encryption data used for encryption processing;
An encryption device that is connected to the encrypted data generation device via a communication line and encrypts a program for controlling the device;
A controller that is connected to the encrypted data generation device and the encryption device by the communication line and controls the device based on the program;
The control method is:
The encryption data generation device generates the encryption data used for encryption and decryption of the program; and
A first transmission step in which the encrypted data generation device transmits the encrypted data to the encryption device as first encrypted data;
A second transmission step in which the encrypted data generation device transmits the encrypted data to the control device as second encrypted data;
The encryption device loading the program;
A receiving step in which the encryption device receives the first encrypted data;
An encryption step in which the encryption device encrypts the program based on the first encryption data to generate an encryption program;
A transmitting step in which the encryption device transmits the encryption program to the control device;
A receiving step in which the control device receives the encryption program transmitted from the encryption device and the second encrypted data transmitted from the encryption data generation device;
An encryption data storage step in which the control device stores the second encryption data;
A decrypting step in which the control device decrypts the cipher program based on the second cipher data;
The control device storing the decrypted program;
A control method, wherein the control device includes a control step of controlling the device based on the stored program.
前記生成ステップは、前記プログラムを暗号化するための暗号鍵と、前記暗号鍵を用いた暗号化により生成された暗号プログラムを復号化するための復号鍵とを生成し、
前記第1の送信ステップは、前記暗号鍵を前記暗号化装置に送信し、
前記第2の送信ステップは、前記復号鍵を前記制御装置に送信する、請求項8に記載の制御方法。
The generating step generates an encryption key for encrypting the program and a decryption key for decrypting an encryption program generated by encryption using the encryption key,
The first transmission step transmits the encryption key to the encryption device;
The control method according to claim 8, wherein the second transmission step transmits the decryption key to the control device.
前記第3の送信ステップは、前記制御装置に対して、前記暗号プログラムに加えて前記第1の暗号データをさらに送信し、
前記制御方法は、前記第1の暗号データと前記第2の暗号データとに基づいて、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものであるか否かを確認する認証ステップをさらに含み、
前記復号化ステップは、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものである場合に、前記暗号プログラムを復号する、請求項8に記載の制御方法。
The third transmission step further transmits the first encrypted data to the control device in addition to the encryption program,
The control method includes an authentication step of confirming whether or not the encryption program is an encrypted program for controlling the device based on the first encryption data and the second encryption data. Further including
9. The control method according to claim 8, wherein the decrypting step decrypts the encryption program when the encryption program is an encrypted program for controlling the device.
前記第1の暗号データは、前記プログラムを暗号化するための暗号鍵を含み、
前記第2の暗号データは、前記暗号鍵を用いた暗号化によって生成された暗号プログラムを復号するための復号鍵を含み、
前記認証ステップは、前記暗号鍵と前記復号鍵とが対応する場合に、前記暗号プログラムが前記機器を制御するためのプログラムを暗号化したものであると判断する、請求項10に記載の制御方法。
The first encrypted data includes an encryption key for encrypting the program,
The second encryption data includes a decryption key for decrypting an encryption program generated by encryption using the encryption key,
The control method according to claim 10, wherein the authentication step determines that the encryption program is an encrypted program for controlling the device when the encryption key and the decryption key correspond to each other. .
前記生成ステップは、予め定められた時間ごとに、新たな前記暗号データを生成し、
前記第1の送信ステップは、前記予め定められた時間ごとに、新たに生成された前記暗号データを、前記第1の暗号データとして前記暗号化装置に送信し、
前記第2の送信ステップは、前記予め定められた時間ごとに、新たに生成された前記暗号データを、前記第2の暗号データとして前記制御装置に送信する、請求項8に記載の制御方法。
The generation step generates new encrypted data every predetermined time,
The first transmission step transmits the newly generated encrypted data to the encryption device as the first encrypted data every predetermined time,
The control method according to claim 8, wherein the second transmission step transmits the newly generated encrypted data to the control device as the second encrypted data at each predetermined time.
前記制御装置が、電源のオンとオフとの切り換えを検知する検知ステップと、
前記制御装置が、前記切り換えの検知に基づいて、前記暗号化装置に対して、新たな前記暗号プログラムの送信を要求するステップと、
前記暗号化装置が、新たな前記暗号プログラムの送信の要求を受信したことを検知するステップとをさらに含み、
前記第3の送信ステップは、前記送信の要求を受信したことに基づいて、新たな前記暗号プログラムを前記制御装置に送信し、
前記復号化ステップは、新たな前記暗号プログラムを復号する、請求項8に記載の制御方法。
A detection step in which the control device detects switching of power on and off;
The control device requesting the encryption device to transmit a new encryption program based on the detection of the switching;
Detecting that the encryption device has received a request for transmission of a new encryption program; and
The third transmission step transmits the new encryption program to the control device based on the reception of the transmission request,
The control method according to claim 8, wherein the decrypting step decrypts the new encryption program.
前記切り換えの検知に基づいて、新たな前記第2の暗号データの送信要求を、前記制御装置が前記暗号データ生成装置に対して送信するステップをさらに含み、
前記生成ステップは、前記第2の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成し、
前記第1の送信ステップは、新たに生成された前記暗号データを、前記第1の暗号データとして前記暗号化装置に送信し、
前記第2の送信ステップは、新たに生成された前記暗号データを、前記第2の暗号データとして前記制御装置に送信する、請求項13に記載の制御方法。
Based on the detection of the switching, further comprising the step of the control device transmitting a new transmission request for the second encrypted data to the encrypted data generating device;
The generating step generates new encrypted data based on receiving the transmission request for the second encrypted data,
The first transmission step transmits the newly generated encrypted data to the encryption device as the first encrypted data,
The control method according to claim 13, wherein the second transmission step transmits the newly generated encrypted data to the control device as the second encrypted data.
JP2006244122A 2006-09-08 2006-09-08 Control system and method for controlling system Withdrawn JP2008067162A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006244122A JP2008067162A (en) 2006-09-08 2006-09-08 Control system and method for controlling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006244122A JP2008067162A (en) 2006-09-08 2006-09-08 Control system and method for controlling system

Publications (1)

Publication Number Publication Date
JP2008067162A true JP2008067162A (en) 2008-03-21

Family

ID=39289449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006244122A Withdrawn JP2008067162A (en) 2006-09-08 2006-09-08 Control system and method for controlling system

Country Status (1)

Country Link
JP (1) JP2008067162A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014097444A1 (en) * 2012-12-20 2014-06-26 三菱電機株式会社 Control system, program transmission device, authentication server, program protection method, program transmission method, and program for program transmission device
JP2016090884A (en) * 2014-11-07 2016-05-23 国立大学法人電気通信大学 Encryption control system and encryption control method, and program
JP2016126705A (en) * 2015-01-08 2016-07-11 三菱日立パワーシステムズ株式会社 Control system, control method and program
JP6381857B1 (en) * 2017-06-23 2018-08-29 三菱電機株式会社 Ladder program unauthorized use prevention system, ladder program unauthorized use prevention method, and engineering tool
CN110023859A (en) * 2017-11-07 2019-07-16 君泰创新(北京)科技有限公司 Process establishment, acquisition, guard method and the device of manufacture of solar cells equipment
JP2019149763A (en) * 2018-02-28 2019-09-05 オムロン株式会社 Data processing method, control system, and control device

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014097444A1 (en) * 2012-12-20 2014-06-26 三菱電機株式会社 Control system, program transmission device, authentication server, program protection method, program transmission method, and program for program transmission device
TWI479287B (en) * 2012-12-20 2015-04-01 Mitsubishi Electric Corp Control system, program delivery device, authentication server, program protection method, program delivery method and program delivery device
CN104871098A (en) * 2012-12-20 2015-08-26 三菱电机株式会社 Control system, program transmission device, authentication server, program protection method, program transmission method, and program for program transmission device
JP5836504B2 (en) * 2012-12-20 2015-12-24 三菱電機株式会社 Control system, program transmission device, authentication server, program protection method, program transmission method, and program for program transmission device
KR101676980B1 (en) 2012-12-20 2016-11-29 미쓰비시덴키 가부시키가이샤 Control system, program transmission device, authentication server, program protection method, program transmission method, and program for program transmission device
US9769132B2 (en) 2012-12-20 2017-09-19 Mitsubishi Electric Corporation Control system for securely protecting a control program when editing, executing and transmitting the control program
JP2016090884A (en) * 2014-11-07 2016-05-23 国立大学法人電気通信大学 Encryption control system and encryption control method, and program
JP2016126705A (en) * 2015-01-08 2016-07-11 三菱日立パワーシステムズ株式会社 Control system, control method and program
JP6381857B1 (en) * 2017-06-23 2018-08-29 三菱電機株式会社 Ladder program unauthorized use prevention system, ladder program unauthorized use prevention method, and engineering tool
WO2018235268A1 (en) * 2017-06-23 2018-12-27 三菱電機株式会社 Illegal use prevention system of ladder program, unauthorized use prevention method of ladder program, engineering tool, license distribution server and programmable controller
KR20190084117A (en) * 2017-06-23 2019-07-15 미쓰비시덴키 가부시키가이샤 A ladder program illegal use prevention system, a ladder program illegal use prevention method, and an engineering tool
CN110114772A (en) * 2017-06-23 2019-08-09 三菱电机株式会社 Trapezoid figure program illegally illegally utilizes prevention method, engineering tools, license publisher server and programmable controller using anti-locking system, trapezoid figure program
KR102052489B1 (en) 2017-06-23 2019-12-05 미쓰비시덴키 가부시키가이샤 Ladder program unauthorized-use prevention system, ladder program unauthorized-use prevention method, and engineering tool
CN110114772B (en) * 2017-06-23 2020-08-28 三菱电机株式会社 System, method and engineering tool for preventing illegal use of ladder program
CN110023859A (en) * 2017-11-07 2019-07-16 君泰创新(北京)科技有限公司 Process establishment, acquisition, guard method and the device of manufacture of solar cells equipment
JP2019149763A (en) * 2018-02-28 2019-09-05 オムロン株式会社 Data processing method, control system, and control device

Similar Documents

Publication Publication Date Title
KR101130415B1 (en) A method and system for recovering password protected private data via a communication network without exposing the private data
JP4507623B2 (en) Network connection system
CN101019368B (en) Method of delivering direct proof private keys to devices using a distribution CD
US20100191967A1 (en) Client apparatus, server apparatus, and program
JP2008287519A (en) Data encryption, transmission and saving system and removable medium
JP2005223891A (en) Digital certificate transfer method, digital certificate transfer apparatus, digital certificate transfer system, program, and recording medium
JP2006229948A (en) Method and system which authenticate certainly service specialized user of remote service interface to storage medium
JP2008067162A (en) Control system and method for controlling system
CN115065472B (en) Security chip encryption and decryption method and device based on multi-key encryption and decryption
JP2007102785A (en) Security method and system, and computer-readable storage medium storing the method
CN112653556B (en) TOKEN-based micro-service security authentication method, device and storage medium
JP4823704B2 (en) Authentication system, authentication information delegation method and security device in the same system
JP2006072521A5 (en)
JP4998314B2 (en) Communication control method and communication control program
JP2007104118A (en) Protection method of secret information and communication apparatus
KR100963417B1 (en) RFID Security Apparatus for comprising Security Function and Method thereof
JP2005130445A (en) Communication apparatus, communication system, fault detecting method and program
JP2014016659A (en) Electronic authentication system, terminal, server, and electronic authentication program
CN112291058A (en) Communication method of management system and management system
JP4448800B2 (en) Device controller
JP4433736B2 (en) Uninterruptible power supply management program and uninterruptible power supply management apparatus
JP4611678B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
JP5631164B2 (en) Multi-cluster distributed processing control system, representative client terminal, multi-cluster distributed processing control method
JP2007067630A (en) Data transmission system using network and its method
JP2007157008A (en) Information processor, network setting method, storage medium and program

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20091110