JP2008067162A - Control system and method for controlling system - Google Patents
Control system and method for controlling system Download PDFInfo
- 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
Links
Images
Landscapes
- Testing And Monitoring For Control Systems (AREA)
Abstract
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)は、ユーザが秘密にしたい情報を見せることなく、監視あるいは保守に必要な情報を外部に向けて配信できるリモートエンジニアリングシステムを開示する。
しかしながら、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))
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
図2を参照して、FAシステム10の制御方法について説明する。図2は、FAシステム10において実行される一連の処理を表わすフローチャートである。
A control method of the
ステップS202にて、暗号ルール発行装置100は、PLC130に固有なコード(たとえば機器ID(Identification))に基づいて、暗号ルール(たとえば復号鍵)の送信先を特定する。ステップS204にて、暗号ルール発行装置100は、予め準備された生成手順に従って、暗号鍵と復号鍵とを生成する。ステップS206にて、暗号ルール発行装置100は、インターネット110を介してPLC130に生成した復号鍵を送信する。
In step S202, encryption
ステップS208にて、PLC130は、暗号ルール発行装置100によって送信された復号鍵を受信して内部メモリに格納する。
In step S208, the
ステップS210にて、暗号ルール発行装置100は、インターネット150を介して、暗号変換機120に対して暗号鍵を送信する。ステップS212にて、暗号変換機120は、暗号ルール発行装置100によって送信された暗号鍵を受信して内部メモリに格納する。
In step S <b> 210, the encryption
ステップS214にて、プログラム開発装置110は、内部メモリから予め格納されていた制御プログラムを読み出して、暗号変換機120に対してその制御プログラムを送信する。ここで、制御プログラムは、設備機器140を制御するために、プログラム開発装置110の使用者によって作成されたプログラムである。
In step S214, the
ステップS216にて、暗号変換機120は、メモリから暗号鍵を読み出して、その暗号鍵を用いてプログラム開発装置110から送信されたプログラムを暗号化する。ステップS218にて、暗号変換機120は、暗号化されたプログラムをインターネット150を介してPLC130に送信する。
In step S216,
ステップS220にて、PLC130は、暗号化されたプログラムを暗号変換機120から受信して、内部メモリに格納する。ステップS222にて、PLC130は、予め保存していた復号鍵をメモリから読み出して、その復号鍵を用いて受信したプログラムを復号化する。ステップS224にて、PLC130は、復号されたプログラムを用いて設備機器140を制御する。
In step S220,
図3を参照して、本実施の形態に係る暗号ルール発行装置100の構成について説明する。図3は、暗号ルール発行装置100によって実現される機能の構成を表わすブロック図である。
With reference to FIG. 3, the structure of the encryption
暗号ルール発行装置100は、生成タイミング検知部310と、機器特定部330と、機器情報記憶部320と、暗号ルール生成部340と、暗号ルール記憶部350と、暗号ルール送信制御部360と、通信部370とを備える。
The encryption
生成タイミング検知部310は、暗号ルール(たとえば暗号鍵と復号鍵との組み合わせ)を生成するタイミングを検知する。たとえば、生成タイミング検知部310は、外部から与えられる生成指示に基づいて暗号ルールを生成すべきタイミングを検知する。あるいは、他の局面において、生成タイミング検知部310は、内部クロック(図示しない)が予め定められた時刻の到来を検知したときに、そのタイミングを検知する。
The generation
機器情報記憶部320は、暗号ルール発行装置100と通信可能な機器を特定するための情報を格納する。当該情報は、たとえば、暗号変換機120、PLC130等に固有な機器番号その他の識別可能なデータを含む。FAシステム10が構築されたときに、これらの機器を識別するための情報は、FAシステム10のユーザによって暗号ルール発行装置100に入力され、機器情報記憶部320に格納される。
The device
機器特定部330は、生成タイミング検知部310からの出力と、機器情報記憶部320に格納されているデータとに基づいて作動可能なように、生成タイミング検知部310と機器情報記憶部320とに接続されている。機器特定部330は、生成タイミング検知部310が暗号ルールの生成のタイミングを検知したことに基づいて、機器情報記憶部320に格納されているデータを読み出して、当該暗号ルールを生成すべき対象となる機器を特定する。より具体的には、機器特定部330は、インターネット150に接続されているPLC130その他の制御機器を特定する。
The
暗号ルール生成部340は、機器特定部330からの出力に基づいて作動可能なように構成される。より具体的には、暗号ルール生成部340は、予め準備された生成基準に従って、機器特定部330によって特定された機器に固有な暗号ルールを生成する。生成された暗号ルールは、たとえば実行可能なプログラムを暗号化するための暗号鍵と、その暗号化されたプログラムを復号するための復号鍵とを含む。暗号ルール生成部340は、その生成した暗号ルールを暗号ルール記憶部350に格納する。
The encryption
暗号ルール送信制御部360は、暗号ルール記憶部350に格納されているデータに基づいて作動可能なように構成される。詳しくは、暗号ルール送信制御部360は、機器情報記憶部320から復号鍵を送信する対象となる機器のアドレス(たとえばIP(Internet Protocol)アドレス)を読み出す。また、暗号ルール送信制御部360は、暗号ルール記憶部350に格納されている当該復号鍵を読み出す。暗号ルール送信制御部360は、そのアドレスを参照して復号鍵を送信するためのデータを生成する。
The encryption rule
あるいは、暗号ルール送信制御部360は、暗号鍵を送信する対象となる暗号変換機120のアドレスを、機器情報記憶部320から読み出す。また、暗号ルール送信制御部360は、暗号ルール記憶部350に格納されている暗号鍵を読み出す。暗号ルール送信制御部360は、当該アドレスを用いてその暗号鍵を送信するためのデータを生成する。
Alternatively, the encryption rule
通信部370は、暗号ルール送信制御部360からの出力と暗号ルール発行装置100に対する入力とに基づいて作動可能なように構成される。通信部370は、暗号ルール送信制御部360によって生成されたデータを、そのデータに含まれるアドレスに対して送信する。あるいは、通信部370は、インターネット150を介して送信されたデータを受信する。受信されるデータは、暗号変換機120あるいはPLC130によって送信された通信の確認のためのデータ(たとえば、所謂「Ack」信号)を含む。あるいは、通信部370は、FAシステム10の管理者によって操作される管理サーバ(図示しない)から発信された制御信号を受信する。
The
図4を参照して、本実施の形態に係る暗号ルール発行装置100の具体的構成の一態様について説明する。図4は、暗号ルール発行装置100として機能するコンピュータシステム400のハードウェア構成を表わすブロック図である。
With reference to FIG. 4, one aspect of a specific configuration of encryption
コンピュータシステム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
コンピュータシステム400における処理は、当該ハードウェアおよびCPU410によって実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク450に予め格納されている場合がある。また、ソフトウェアは、CD−ROM462その他の記録媒体に格納されて、プログラム製品として流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラム製品として提供される場合もある。このようなソフトウェアは、CD−ROM駆動装置460その他の読取装置によってその記録媒体から読み取られた後に、あるいは通信I/F490を介してダウンロードされた後に、ハードディスク450に一旦格納される。そのソフトウェアは、CPU410によってハードディスク450から読み出され、RAM440に実行可能なプログラムの形式で格納される。CPU410は、そのプログラムを実行する。
Processing in the
図4に示されるコンピュータシステム400を構成するハードウェアは、一般的なものである。したがって、暗号ルール発行装置100の本質的な部分は、RAM440、ハードディスク450、CD−ROM462その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、コンピュータシステム400の各構成要素の動作は周知であるので、詳細な説明は繰り返さない。
The hardware constituting the
図5を参照して、暗号ルール発行装置100の制御構造について説明する。図5は、暗号ルール発行装置100として機能するコンピュータシステム400が備えるCPU410が実行する一連の処理を表わすフローチャートである。
With reference to FIG. 5, the control structure of the encryption
ステップS510にて、CPU410は、暗号ルール(暗号鍵と復号鍵)を生成するタイミングの到来を検知する。ステップS520にて、CPU410は、その暗号ルールを生成する対象となるPLCを特定する。CPU410は、そのPLCを特定すると、当該PLCを識別するデータを、RAM440において確保した領域に格納する。
In step S510,
ステップS530にて、CPU410は、予め準備された実行プログラムに従って、暗号鍵と復号鍵とを生成し、RAM440に確保した領域に格納する。
In step S530,
ステップS540にて、CPU410は、通信I/F490を介して、インターネット150を介して暗号変換機120に対して暗号鍵を送信する。
In step S540,
ステップS550にて、CPU410は、暗号鍵を受信したことを表わす確認信号を暗号変換機120から受信したか否かを判断する。CPU410が、その信号を受信したと判断すると(ステップS550にてYES)、処理はステップS560に移される。そうでない場合には(ステップS550にてNO)、処理はステップS552に移される。
In step S550,
ステップS552にて、CPU410は、予め定められた一定時間待機する。その後、制御はステップS550に戻される。なお、待機する処理が実行される間に、通信エラーに対応する処理が実行されてもよい。たとえば、予め規定された時間内に、確認信号が受信できない場合には、CPU410は、当該送信は失敗であると判断し、通信エラーを放置する処理を実行してもよい。
In step S552,
ステップS560にて、CPU410は、インターネット150を介して、PLC130に復号鍵を送信する。
In step S560,
ステップS570にて、CPU410は、復号鍵を受信したことを表わす確認信号をPLC130から受信したか否かを判断する。CPU410がその信号を受信したと判断すると(ステップS570にてYES)、処理はステップS580に移される。そうでない場合には(ステップS570にてNO)、処理はステップS572に移される。
In step S570,
ステップS572にて、CPU410は、予め定められた一定時間待機する。その後、制御はステップS570に戻される。なお、ステップS552におけるエラー処理と同様の処理が実行されてもよい。
In step S572,
ステップS580にて、CPU410は、作動を終了する指示が入力されたか否かを判断する。CPU410がそのような指示が入力されていると判断すると(ステップS580にてYES)、処理は終了する。そうでない場合には(ステップS580にてNO)、処理はステップS510に戻される。
In step S580,
図6を参照して、暗号ルール発行装置100のデータ構造について説明する。図6は、コンピュータシステム400が備えるハードディスク450におけるデータの格納の一態様を概念的に表わす図である。ハードディスク450は、データを格納するための複数のメモリ領域を含む。
The data structure of the encryption
暗号鍵を送信する対象を特定するためのデータは、メモリ領域610に格納される。暗号鍵が送信された日時は、メモリ領域620に格納される。暗号鍵がまだ一度も送信されていない場合には、この領域には、たとえば「NULL」を表わすデータが格納される。CPU410によって生成された暗号鍵は、メモリ領域630に格納される。
Data for specifying a target to which the encryption key is transmitted is stored in the
復号鍵に関するデータについても、暗号鍵に関するデータと同様に格納される。すなわち、復号鍵を送信する対象を特定するためのデータは、メモリ領域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
次に、図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
図5に示されるステップS540の処理が実行されると、通信フレーム700は、暗号ルール発行装置100から暗号変換機120に送信される。
When the process of step S540 shown in FIG. 5 is executed, the
図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
次に、図9を参照して、本実施の形態に係る暗号変換機120の構成について説明する。図9は、暗号変換機120によって実現される機能の構成を表わすブロック図である。暗号変換機120は、データ入力部910と、プログラム記憶部920と、暗号鍵格納部930と、暗号化処理部940と、暗号化データ配信部950とを含む。
Next, with reference to FIG. 9, the structure of the
データ入力部910は、暗号変換機120の外部からのデータの入力を受け付ける。たとえば、入力が受け付けられるデータは、プログラム開発装置110によって生成されたプログラム、暗号ルール発行装置100によって送信された暗号鍵、あるいは暗号変換機120による暗号化処理を有効にする指示(暗号化指令)などを含む。当該暗号化指令は、暗号ルール発行装置100によって送信される場合もあれば、FAシステム10の管理者によって与えられる場合もある。
The
プログラム記憶部920は、データ入力部910によって入力が受け付けられたプログラムを格納する。暗号鍵格納部930は、データ入力部910によって入力が受け付けられた暗号鍵を格納する。
The
暗号化処理部940は、データ入力部910からの出力と、プログラム記憶部920および暗号鍵格納部930に格納されているデータとに基づいて作動可能なように構成される。より具体的には、暗号化処理部940は、データ入力部910によって入力が受け付けられた暗号化指令に基づいて暗号化処理を実行する。すなわち、暗号化処理部940は、プログラム記憶部920に格納されているプログラムを読み出し、暗号鍵格納部930に格納されている暗号鍵を用いてその読み出したプログラムを暗号化する。
The
暗号化データ配信部950は、暗号化処理部940からの出力に基づいて作動可能なように構成される。より具体的には、暗号化データ配信部950は、暗号化処理部940によって生成されたデータを、当該プログラムを使用する装置(たとえばPLC130)に送信するためのデータを生成する。暗号化データ配信部950は、そのデータを生成した後、送信相手(PLC130等)の間で通信を確立し、通信が確立された後にそのデータを送信する。暗号変換機120によって送信されるデータは後述する。
The encrypted
ここで、図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
図10に示されるコンピュータシステム1000の各構成要素の機能およびそれらの基本的な動作は、図4に示されるコンピュータシステム400における当該機能および動作と同様である。したがって、ここではそれらについての説明は繰り返さない。
Functions and basic operations of the components of the
次に、図11を参照して、暗号変換機120の制御構造について説明する。図11は、暗号変換機120として機能するコンピュータシステム1000が備えるCPU1010が実行する一連の処理を表わすフローチャートである。
Next, the control structure of the
ステップS1110にて、CPU1010は、通信I/F1090を介して、プログラム開発装置110からプログラムを受信したことを検知する。ステップS1120にて、CPU1010は、受信したプログラムをRAM1040において確保したワーク領域に一時的に格納する。その後、CPU1010は、そのプログラムをハードディスク1050に保存する。
In step S1110,
ステップS1130にて、CPU1010は、通信I/F1090を介して暗号ルール発行装置100から暗号鍵を受信したことを検知する。ステップS1140にて、CPU1010は、暗号鍵をRAM1040において確保した領域に格納し、その後、ハードディスク1050に保存する。
In step S1130,
ここで、図12および図13を参照して、暗号変換機120のデータ構造について説明する。図12および図13はそれぞれ、ハードディスク1050におけるデータの格納の一態様を概念的に表わす図である。
Here, the data structure of the
図12を参照して、ハードディスク1050は、データを格納するための複数のメモリ領域を含む。プログラム開発装置110によって生成されたプログラムを使用する装置を識別するためのデータ(プログラムユーザ)は、メモリ領域1210に格納されている。当該プログラムユーザが実際に使用するプログラムを識別するためのデータ(プログラムID)は、メモリ領域1220に格納される。当該プログラムIDによって特定される具体的なプログラムデータは、メモリ領域1230に格納される。
Referring to FIG. 12,
図13を参照して、暗号ルール発行装置100によって送信された暗号鍵を識別するためのデータ(暗号鍵ID)は、メモリ領域1310に格納される。その暗号鍵IDによって特定される暗号鍵の具体的なデータは、メモリ領域1320に格納される。
Referring to FIG. 13, data (encryption key ID) for identifying the encryption key transmitted by encryption
次に、図14を参照して、暗号変換機120によって発信されるデータについて説明する。図14は、暗号変換機120からPLC130に送信される通信フレーム1400を表わす図である。
Next, with reference to FIG. 14, the data transmitted by the
通信フレーム1400は、ヘッダ1410と、ユーザデータ1420と、FCS1430とを含む。ヘッダ1410は、送信元アドレス(すなわち暗号変換機120のIPアドレス)と、送信先アドレス(すなわちPLC130のIPアドレス)と、送信日時(すなわち通信フレーム1400が生成された日時)とを含む。ユーザデータ1420は、暗号変換機120において暗号化されたプログラムを含む。
通信フレーム1400は、暗号変換機120とPLC130との通信が確立された後に、暗号変換機120によって送信される。また、他の局面においては、PLC130が通信フレーム1400を受信していない旨の確認信号が暗号変換機120によって受信されたときに、通信フレーム1400が再び送信されるものであってもよい。
The
図15を参照して、暗号変換機120の制御構造について説明する。図15は、暗号変換機120として機能するコンピュータシステム1000のCPU1010が実行する一連の処理を表わすフローチャートである。
With reference to FIG. 15, the control structure of the
ステップS1510にて、CPU1010は、通信I/F1090を介してプログラムを暗号化する処理を実行する指示を受信する。この指示は、暗号ルール発行装置100から送信されるデータに含まれている場合もあれば、FAシステム10の管理者によって与えられる場合もある。
In step S1510,
ステップS1520にて、CPU1010は、その指示に基づいて、暗号化の対象となるプログラムと、暗号化に用いられる暗号鍵と、そのプログラムの使用者であるPLC130とを特定する。
In step S1520, based on the instruction,
ステップS1530にて、CPU1010は、特定した暗号鍵を用いてそのプログラムを暗号化し、RAM1040に一時的に格納する。この暗号化されたデータの送信が完了しない場合には、CPU1010は、RAM1040に格納されているそのデータをハードディスク1050において確保した領域に保存する。
In step S1530,
ステップS1540にて、CPU1010は、特定されたPLC130との間で通信を確立するための処理を実行する。ステップS1550にて、CPU1010は、PLC130との間の通信セッションが確立しているか否かを判断する。CPU1010が、通信セッションは確立していると判断すると(ステップS1550にてYES)、処理はステップS1560に移される。そうでない場合には(ステップS1550にてNO)、処理はステップS1540に戻され、通信を確立するための処理が継続される。
In step S1540,
ステップS1560にて、CPU1010は、暗号化されたプログラムを送信するためのデータ(たとえば通信フレーム1400)を生成する。ステップS1570にて、CPU1010は、生成した通信フレーム1400をインターネット150を介してPLC130に送信する。
In step S1560,
ステップS1580にて、CPU1010は、プログラムの受信の完了通知をPLC130から受信したか否かを判断する。たとえば、この判断は、暗号変換機120とPLC130との間の通信セッションが確立している間に行なわれる通信に含まれるデータに基づいて行なわれる。CPU1010が、当該完了通知を受信していると判断すると(ステップS1580にてYES)、処理はステップS1590に移される。そうでない場合には(ステップS1580にてNO)、処理はステップS1582に移される。
In step S1580,
ステップS1582にて、CPU1010は、予め定められた一定時間待機する。
ステップS1590にて、CPU1010は、PLC130との通信を終了する。
In step S1582,
In step S1590,
ここで、図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
インナーボード1610は、インナーボードCPU1612と、メモリ1614と、通信インターフェイス1616とを含む。コントローラ1620は、コントローラCPU1622と、I/O(Input/Output)ユニット1624と、実行メモリ1626と、ツール1628とを含む。コントローラCPU1622とI/Oユニット1624とは、I/Oバス1640によって接続されている。
The
インナーボードCPU1612は、インナーボード1610の動作を制御する。より詳しくは、インナーボードCPU1612は、通信インターフェイス1616を介してPLC130にネットワーク接続されている他の装置と通信する。インナーボードCPU1612は、通信インターフェイス1616を介して受信したデータを、メモリ1614に格納する。また、インナーボードCPU1612は、CPUバス1630を介してコントローラCPU1622と通信する。
The
コントローラCPU1622は、コントローラ1620の動作を制御する。より詳しくは、コントローラCPU1622は、CPUバス1630を介してインナーボード1610から受信したデータを、実行メモリ1626に格納する。格納されるデータには、ツール1628の動作を制御するためのプログラムが含まれる。
The
コントローラCPU1622は、I/Oユニット1624を介してPLC130に接続されている設備機器140の動作を制御するためのデータを出力し、あるいは設備機器140から出力されたデータの入力を受け付ける。ツール1628は、設備機器140の動作を制御するためのプログラムにアクセスするためのインターフェイスとして機能する。
The
次に、図17を参照して、PLC130のデータ構造について説明する。図17は、メモリ1614におけるデータの格納の一態様を概念的に表わす図である。メモリ1614は、データを格納するためのメモリ領域を含む。メモリ領域1710は、リザーブ領域として使用される。たとえば、PLC130が新たにデータを外部から受信したとき、そのデータはリザーブ領域1710に格納される。
Next, the data structure of the
PLC130が受信したプログラムは、メモリ領域1720に格納される。このプログラムは、図14に示されるユーザデータ1420に含まれているものである。
The program received by the
暗号ルール発行装置100によって送信された復号鍵は、メモリ領域1730に格納される。この復号鍵は、図8に示されるユーザデータ820に含まれるものである。PLC130を識別するための認証コードは、メモリ領域1740に格納される。認証コードは、FAシステム10が構築された際に、管理者によって入力される。
The decryption key transmitted by the encryption
PLC130に固有なPLCIDは、メモリ領域1750に格納される。PLCIDは、たとえばPLC130が製造された際に与えられるPLCに固有な製造番号である。
The PLCID unique to the
暗号化されたデータを復号するための復号処理プログラムは、メモリ領域1760に格納される。復号処理プログラムは、たとえばメモリ領域1730に格納されている復号鍵を用いて、メモリ領域1720に格納されているプログラムを復号する。
A decryption processing program for decrypting the encrypted data is stored in the
PLC130と暗号ルール発行装置100あるいは暗号変換機120との通信を制御するための通信制御プログラムは、メモリ領域1770に格納される。
A communication control program for controlling communication between the
PLC130の基本的な動作を制御するためのオペレーティングシステムは、メモリ領域1780に格納されている。
An operating system for controlling basic operations of the
次に、図18を参照して、PLC130の制御構造について説明する。図18は、PLC130が備えるインナーボードCPU1612が実行する一連の処理を表わすフローチャートである。
Next, the control structure of the
ステップS1810にて、インナーボードCPU1612は、暗号変換機120との通信を確立する。ステップS1820にて、インナーボードCPU1612は、暗号化されたプログラムを暗号変換機120から受信したことを検知する。
In step S1810, the
ステップS1830にて、インナーボードCPU1612は、暗号ルール(復号鍵)を認証する。ステップS1840にて、インナーボードCPU1612は、暗号ルールが一致するか否かを判断する。たとえば、インナーボードCPU1612は、受信したデータに含まれている復号鍵と、メモリ1614に既に格納されている復号鍵とが一致するか否かを判断する。あるいは、他の局面においては、インナーボードCPU1612が暗号鍵を受信した場合には、当該暗号鍵と、メモリ1614に既に保存されている復号鍵とが対応するか否かを判断する。インナーボードCPU1612が、それらの暗号ルールは一致すると判断すると(ステップS1840にてYES)、処理はステップS1850に移される。そうでない場合には(ステップS1840にてNO)、処理はステップS1880に移される。
In step S1830,
ステップS1850にて、インナーボードCPU1612は、その暗号鍵を用いて暗号化されているプログラムを復号化する。
In step S1850,
ステップS1860にて、インナーボードCPU1612は、復号されたプログラムをメモリ1614のメモリ領域1710に格納する。ステップS1870にて、インナーボードCPU1612は、復号されたプログラムをコントローラ1620に送信する。コントローラCPU1622は、そのプログラムを受信すると、実行メモリ1620にそのプログラムを格納する。ステップS1890にて、インナーボードCPU1612は、通信インターフェイス1616を介して行なわれていた暗号変換機120との通信を終了する。
In step S1860,
図19を参照して、PLC130における実行プログラムの移送について説明する。図19は、メモリ1614と実行メモリ1616との間で行なわれるデータ処理を表わす図である。
With reference to FIG. 19, the transfer of the execution program in the
メモリ1614は、データを格納するためのメモリ領域1910,1920を含む。メモリ領域1920は、図17におけるメモリ領域1710に相当する。同様に、メモリ領域1910は、メモリ領域1720,1730,1740に対応する。暗号化されたプログラムが復号鍵を用いて復号されるとそのデータはメモリ領域1920に格納される。
インナーボードCPU1612がコントローラCPU1622との間で通信を行ない、実行プログラムが位相できる状態にあることを確認すると、インナーボードCPU1612は、メモリ1614から実行プログラムを読み出して、その実行プログラムをCPUバス1630に送信する。コントローラCPU1622は、その実行プログラムを受信すると、実行メモリ1626において確保したメモリ領域1930に格納する。設備機器140は、実行メモリ1626に格納されたそのプログラムに基づいて制御される。
When the
以上のようにして、本実施の形態に係るFAシステム10によると、設備機器140を制御するためのプログラムは、暗号変換機120によって暗号化されたプログラムとして、PLC130に送信される。当該暗号化は、暗号ルール発行装置100によって生成された暗号ルールに基づいて行なわれる。たとえば、暗号ルール発行装置100が暗号鍵と復号鍵とを生成する場合には、暗号変換機120は、その暗号鍵を用いて制御プログラムを暗号化する。
As described above, according to the
一方、PLC130は、上記の復号鍵を暗号ルール発行装置100から受信し、暗号からされたプログラムを暗号変換機120から受信する。PLC130は、暗号変換機120から受信したデータと、暗号ルール発行装置100から受信したデータとに基づいて、認証処理を実行する。たとえば、PLC130は、暗号変換機120から受信した暗号鍵と、暗号ルール発行装置120から受信した復号鍵(あるいは暗号鍵)とが対応するか(あるいは一致するか)否かを判断する。これらの鍵が対応する場合、あるいは一致する場合、認証処理は成功する。
On the other hand, the
認証処理が成功すると、PLC130は、復号鍵を用いて、暗号化されたプログラムを復号する。したがって、その後、PLC130は、復号された制御プログラムに基づいて制御機器を制御する。
If the authentication process is successful, the
ここで、PLC130の電源がオフにされた後、再び電源がオンに設定されると、PLC130は、内部のメモリに格納されている制御プログラムあるいは暗号化された状態のプログラムを消去する。したがって、仮に、第三者がPLC130が使用するプログラムのデータを取得するために、不法にPLC130の電源をオンに入れても、当該プログラムは削除されるため、プログラムの漏洩が防止される。
When the power of the
このような場合、PLC130は、暗号変換機120と通信して、新たに暗号化されたプログラムの送信を要求する。PLC130がプログラムの送信を要求したことに基づいて、新たな暗号ルールの発行要求が暗号ルール発行装置100に対して送信される。この発行要求は、PLC130によって生成されて送信されてもよいし、暗号変換機120によって生成されて送信されてもよい。
In such a case, the
暗号ルール発行装置100は、当該発行要求に基づいて、新たな暗号ルールを生成する。暗号ルール発行装置100は、暗号ルールとして一組の新たな暗号鍵と復号鍵とを生成すると、暗号鍵を暗号変換機120に送信し、復号鍵をPLC130に送信する。
The encryption
暗号変換機120は、その新たな暗号鍵を用いて、PLC130が使用する制御プログラム(すなわち、削除されたプログラム)を暗号化して、PLC130に送信する。
The
PLC130は、暗号ルール発行装置100によって送信された復号鍵に基づいて、新たに暗号化された制御プログラムを復号化する。PLC130は、復号化した制御プログラムを実行して、設備機器140を制御する。これにより、FAシステム10は、PLC130が稼動していない間(たとえば、PLC130の電源がオフになっている間)、設備機器140を制御するためのプログラムの秘密を維持することができる。
The
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 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.
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の暗号データと前記第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.
前記第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の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成し、
前記第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.
前記制御方法は、前記第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.
前記第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の暗号データの送信要求を受信したことに基づいて、新たな暗号データを生成し、
前記第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.
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)
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 |
-
2006
- 2006-09-08 JP JP2006244122A patent/JP2008067162A/en not_active Withdrawn
Cited By (16)
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 |
---|---|---|
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 | |
KR20060045440A (en) | A method and system for recovering password protected private data via a communication network without exposing the private data | |
JP2008287519A (en) | Data encryption, transmission and saving system and removable medium | |
JP2007082216A (en) | Method and device for transmitting and receiving data safely on one-to-one basis | |
JP2005223891A (en) | Digital certificate transfer method, digital certificate transfer apparatus, digital certificate transfer system, program, and recording 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 | |
JP4823704B2 (en) | Authentication system, authentication information delegation method and security device in the same system | |
JP2006072521A5 (en) | ||
JP4794970B2 (en) | Secret information protection method and communication apparatus | |
JP4998314B2 (en) | Communication control method and communication control program | |
KR100963417B1 (en) | RFID Security Apparatus for comprising Security Function and Method thereof | |
JP4611680B2 (en) | COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM | |
JP2014016659A (en) | Electronic authentication system, terminal, server, and electronic authentication program | |
JP2004159100A (en) | Cipher communication program, server system for cipher communication system, cipher communication method, and cipher communication system | |
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 | |
JP7170588B2 (en) | Data processing method and data processing system | |
JP2007019795A (en) | Device controller | |
JP4980785B2 (en) | Cryptographic communication device and cryptographic communication method | |
JP2006311136A (en) | Terminal and program to be applied to the same |
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 |