[go: up one dir, main page]

JP2018136811A - Control system - Google Patents

Control system Download PDF

Info

Publication number
JP2018136811A
JP2018136811A JP2017031708A JP2017031708A JP2018136811A JP 2018136811 A JP2018136811 A JP 2018136811A JP 2017031708 A JP2017031708 A JP 2017031708A JP 2017031708 A JP2017031708 A JP 2017031708A JP 2018136811 A JP2018136811 A JP 2018136811A
Authority
JP
Japan
Prior art keywords
program
key
unit
security key
previous
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.)
Pending
Application number
JP2017031708A
Other languages
Japanese (ja)
Inventor
大輔 杉内
Daisuke Sugiuchi
大輔 杉内
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2017031708A priority Critical patent/JP2018136811A/en
Publication of JP2018136811A publication Critical patent/JP2018136811A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To obtain a control system for preventing alternation of a program by a computer virus or a third party and for minimizing an impact on a plant by such alternation.SOLUTION: A control system has an engineering apparatus having a program editor using a ladder language, a program conversion compiler, a program encoded by it, and a control parameter and transmitting these to another apparatus, a storage unit for storing programs and parameters received from the apparatus, a key calculating unit for calculating a security key from data on the storage unit, a previous-key storing unit for storing a security key previously calculated, and a control apparatus having a key matching unit for comparing two kinds of security data obtained by the units. If the compared data ara not matched with each other, a program is operated in response to set major failure and minor failure. In a case of major failure, execution of the entire program is stopped. In a case of minor failure, only a part of functions is stopped to carry out degeneration operation.SELECTED DRAWING: Figure 3

Description

この発明は、プラントを制御するための制御装置を有する制御システムにおいてプログラムの改竄を防止するための技術に関するものである。   The present invention relates to a technique for preventing falsification of a program in a control system having a control device for controlling a plant.

従来、制御システムは、プラントを制御するためのプログラムを実行する制御装置と、そのプログラムを作成して制御装置に転送するエンジニアリング装置によって構成される。一般的に、エンジニアリング装置からプログラムを転送する際には、あらかじめエンジニアリング装置に設定されたパスワード等により認証を行い、正しく認証された場合のみ転送を許可することによりプログラムの改竄の防止を行っている。他にもプログラムの改竄を防止する手法として、エンジニアリング装置から制御装置にプログラムを転送する際に、プログラムからダイジェストコードを作成し、記憶装置から読み出した前回転送したプログラムのダイジェストコードと比較して一致しなければ不正な変更と判断して転送を中止する手法が提案されている(例えば、特許文献1参照)。   Conventionally, a control system includes a control device that executes a program for controlling a plant, and an engineering device that creates the program and transfers the program to the control device. Generally, when a program is transferred from an engineering device, authentication is performed using a password set in the engineering device in advance, and the program is prevented from being falsified by permitting the transfer only when it is correctly authenticated. . Another method to prevent falsification of the program is to create a digest code from the program when transferring the program from the engineering device to the control device and compare it with the digest code of the previously transferred program read from the storage device. If not done, a method is proposed in which the transfer is judged to be an unauthorized change (see, for example, Patent Document 1).

特開2003−202928号公報JP 2003-202928 A

近年、制御システムに対するサイバー攻撃の事例が発生しており、制御システムに対するセキュリティの要求が高まってきている。通常、制御システムにおける制御装置はインターネットには直接接続されず、制御システム内に閉じた制御ネットワークやローカルネットワークに接続されるのみのため、インターネット経由でのコンピュータウィルス感染の可能性は低い。しかし、USBメモリなどの電子媒体経由でのウィルス感染の可能性があり、他にも第三者によってエンジニアリング装置経由でプログラムを改竄される等が考えられる。これらによってプログラムを改竄されると、プラント全体に甚大な問題を引き起こしかねないため対策が必要である。   In recent years, cyber attacks on control systems have occurred, and security requirements for control systems are increasing. Usually, the control device in the control system is not directly connected to the Internet, but is only connected to a control network or a local network closed in the control system, so that the possibility of computer virus infection via the Internet is low. However, there is a possibility of virus infection via an electronic medium such as a USB memory, and it is also conceivable that a program is altered by a third party via an engineering device. If the program is altered by these, countermeasures are necessary because it can cause enormous problems for the entire plant.

特許文献1で提案されている手法は、エンジニアリング装置から制御装置にプログラムを転送する際に、プログラムをチェックして不正な変更と判断した場合に制御装置への転送を中止するものである。これは、一旦エンジニアリング装置に保存したプログラムが不正に変更されていないかをチェックするものである。コンピュータウィルスの場合はエンジニアリング装置を介さずにプログラムを改竄するため、この方法では制御装置に格納されたプログラムに対して改竄を検知したり、防止したりすることはできず、改竄された場合にはプラント全体への影響を抑えることはできない。   The technique proposed in Patent Document 1 is to stop the transfer to the control apparatus when the program is transferred from the engineering apparatus to the control apparatus and the program is checked to determine that the change is illegal. This is to check whether the program once stored in the engineering device has been illegally changed. In the case of a computer virus, the program is tampered without going through the engineering device, so this method cannot detect or prevent tampering with the program stored in the control device. Cannot reduce the impact on the entire plant.

この発明は上記のような課題を解決するためになされたものであり、コンピュータウィルスや第三者によるプログラムの改竄防止と、改竄されてもプラントに対する影響を最小限に抑えることを可能とする制御システムを得ることを目的とする。   The present invention has been made in order to solve the above-described problems, and prevents the computer virus or a third party from falsifying the program, and the control capable of minimizing the influence on the plant even if falsified. The purpose is to obtain a system.

この発明に係る制御システムは、
プラントを制御するためのプログラムを作成するエンジニアリング装置とこのエンジニアリング装置から転送された前記プログラムを実行する制御装置を備えた制御システムであって、
前記制御装置は、
前記エンジニアリング装置から転送された前記プログラムから一意に決まるハッシュ処理されたハッシュ値、あるいは前記エンジニアリング装置からの前記プログラムの初回送信時にユーザによって与えられたパスワード、であるセキュリティキーを算出するキー算出部、
前回のプログラムの実行により算出した前記セキュリティキーを記憶する前回キー記憶部、
今回のプログラムの実行により算出した前記セキュリティキーと、前回キー記憶部で記憶している前回のプログラムの実行時に算出した前記セキュリティキーと、を比較照合するキー照合部、を有し、
前記キー算出部で算出した前回のセキュリティキーがある場合においては、前記キー照合部で比較照合し、比較照合した結果が一致した場合には前記プログラムを実行し、比較照合した結果が不一致の場合には前記プログラムを実行するか否かを予め定められた条件に従って選択し、
前記キー算出部で算出した前回のセキュリティキーがない場合においては、前記キー照合部で比較照合せず、前記プログラムを実行するものである。
The control system according to the present invention includes:
A control system comprising an engineering device for creating a program for controlling a plant and a control device for executing the program transferred from the engineering device,
The controller is
A key calculation unit that calculates a security key that is a hash value that is uniquely hashed from the program transferred from the engineering device, or a password that is given by a user when the program is first transmitted from the engineering device;
A previous key storage unit for storing the security key calculated by executing the previous program;
A key verification unit that compares and collates the security key calculated by executing the current program and the security key calculated when the previous program stored in the previous key storage unit;
If there is a previous security key calculated by the key calculation unit, the key verification unit performs comparison and verification, and if the comparison and verification result matches, the program is executed, and the comparison and verification result does not match To select whether to execute the program according to a predetermined condition,
When there is no previous security key calculated by the key calculation unit, the key verification unit does not perform comparison verification and executes the program.

この発明によれば、プラントを制御するための制御装置を有する制御システムにおいてコンピュータウィルスや第三者によるプログラムの改竄防止と、改竄されてもプラントに対する影響を最小限に抑えることを可能とする制御システムを提供することができる。   According to the present invention, in a control system having a control device for controlling a plant, control of a computer virus or a program by a third party can be prevented, and the control that can minimize the influence on the plant even if tampered. A system can be provided.

この発明の実施の形態1における制御システムの一例を示す図である。It is a figure which shows an example of the control system in Embodiment 1 of this invention. この発明の実施の形態1〜5における制御システムの制御装置およびエンジニアリング装置が各々有するハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions which each of the control apparatus and engineering apparatus of the control system in Embodiment 1-5 of this invention has. この発明の実施の形態1における制御システムの動作を示すフローチャート図である。It is a flowchart figure which shows operation | movement of the control system in Embodiment 1 of this invention. この発明の実施の形態2における制御システムの一例を示す図である。It is a figure which shows an example of the control system in Embodiment 2 of this invention. この発明の実施の形態3における制御システムの一例を示す図である。It is a figure which shows an example of the control system in Embodiment 3 of this invention. この発明の実施の形態4における制御システムの一例を示す図である。It is a figure which shows an example of the control system in Embodiment 4 of this invention. この発明の実施の形態5における制御システムの一例を示す図である。It is a figure which shows an example of the control system in Embodiment 5 of this invention.

実施の形態1.
以下、この発明の実施の形態1を図1に基づいて説明する。
図1は、この発明の実施の形態1による改竄防止機能付き制御装置を含む制御システムのブロック図である。
Embodiment 1 FIG.
A first embodiment of the present invention will be described below with reference to FIG.
FIG. 1 is a block diagram of a control system including a control device with a falsification preventing function according to Embodiment 1 of the present invention.

制御用プログラムを作成するエンジニアリング装置101は制御用プログラムを実行する制御装置201と通信ケーブル301で接続されている。エンジニアリング装置101は、ラダー言語を使用して制御プログラムを作成するプログラムエディタ102、作成したプログラムを機械語コードに変換するコンパイラ103、制御装置201を動作させるための制御用パラメータ105と機械語コードに変換した後のプログラムであるコード化プログラム104を制御装置に送信する送信部106を有している。なお、送信動作は、エンジニアリング装置101が有するプロセッサとメモリにより、このプロセッサがこのメモリに記憶されたプログラムを実行することにより実現される(図2参照)。   An engineering device 101 that creates a control program is connected to a control device 201 that executes the control program via a communication cable 301. The engineering device 101 includes a program editor 102 that creates a control program using a ladder language, a compiler 103 that converts the created program into machine language code, a control parameter 105 for operating the control device 201, and machine language code. It has the transmission part 106 which transmits the encoding program 104 which is the program after conversion to a control apparatus. The transmission operation is realized by the processor and the memory included in the engineering apparatus 101 by the processor executing a program stored in the memory (see FIG. 2).

制御装置201はエンジニアリング装置101から送信されたプログラムと制御用パラメータを受信するための受信部202、受信したプログラムと制御用パラメータを保管し
ておく格納部203、送信されたプログラムから一意に決まるセキュリティキー205(ここで、セキュリティキーとは、プログラム保護のために与えられた原文を基にハッシュ処理されたハッシュ値であって、不可逆な一方向の関数処理を含むものである。なお、ハッシュ処理とは、与えられた原文から固定長の疑似乱数を生成する演算処理の手法である。この演算処理の手法は通常、ハッシュ関数、あるいは要約関数などと呼ばれる)を算出するキー算出部204、前回実行したプログラムのセキュリティキーである前回セキュリティキー207を記憶するための前回キー記憶部206、キー算出部204により算出したセキュリティキー205と前回記憶した前回セキュリティキー207を比較照合するためのキー照合部208を有している。
The control device 201 includes a receiving unit 202 for receiving the program and control parameters transmitted from the engineering device 101, a storage unit 203 for storing the received program and control parameters, and security uniquely determined from the transmitted program. Key 205 (Here, the security key is a hash value hashed based on the original text given for program protection, and includes irreversible one-way function processing. This is a calculation processing method for generating a fixed-length pseudo-random number from a given original text (this calculation processing method is usually called a hash function or a summarization function), and a key calculation unit 204 that calculates the last time. To store the previous security key 207 which is the security key of the program And a key verification unit 208 for comparing and collating the previous security key 207 that security key 205 and previously stored calculated by the previous key storage unit 206, the key calculation unit 204.

ユーザは前記エンジニアリング装置101のプログラムエディタ102にて制御用のプログラムを作成し、前記制御装置201を動作させるための制御用パラメータ105を登録する。作成したプログラムは、コンパイラ103により機械語コードに変換されたコード化プログラム104に変更され、制御用パラメータ105とともに送信部106により制御装置201に送信される。前記制御装置201は前記エンジニアリング装置101から送信されたコード化されたプログラムと制御用パラメータを受信して格納部203に格納する。   A user creates a control program in the program editor 102 of the engineering apparatus 101 and registers a control parameter 105 for operating the control apparatus 201. The created program is changed to a coded program 104 converted into a machine language code by the compiler 103 and transmitted to the control device 201 by the transmission unit 106 together with the control parameter 105. The control device 201 receives the coded program and control parameters transmitted from the engineering device 101 and stores them in the storage unit 203.

その後は、図3のフローチャートに示すとおりの動作を行う。
図3のフローチャートに示す制御装置201の動作について詳しく説明する。ステップS201で制御装置はコード化プログラム等を格納している格納部203を参照し、ステップS202で格納されたプログラムについてキー算出部204で当該プログラムのセキュリティキー205を算出する。このセキュリティキー205は、例えばプログラムのサイズや命令数などを使用してハッシュ処理を施し、プログラム(のみ)から一意に決まる値とする。また、エンジニアリング装置101から制御装置201に対してコード化プログラムと制御用パラメータを初回送信時に、ユーザがパスワードを付与する方法もある。この場合はパスワードをセキュリティキー205として使用することが可能である。
Thereafter, the operation as shown in the flowchart of FIG. 3 is performed.
The operation of the control device 201 shown in the flowchart of FIG. 3 will be described in detail. In step S201, the control device refers to the storage unit 203 that stores the coded program or the like, and calculates the security key 205 of the program in the key calculation unit 204 for the program stored in step S202. The security key 205 is a value uniquely determined from the program (only) by performing hash processing using, for example, the size of the program and the number of instructions. There is also a method in which a user assigns a password when an encoding program and a control parameter are transmitted for the first time from the engineering apparatus 101 to the control apparatus 201. In this case, the password can be used as the security key 205.

次にステップS203で、前回キー記憶部206にて前回実行時のセキュリティキーである前回セキュリティキー207を参照する。前回キーが未登録であれば今回が初回実行とみなし、そのままプログラムを実行し、今回算出したセキュリティキーを前回キー記憶部206にて記憶する(ステップS205〜S206)。ステップS203で前回キーが登録されていた場合は、今回算出したセキュリティキー205と前回キー記憶部206で記憶した前回セキュリティキー207をキー照合部208で比較照合し、一致した場合はプログラムを実行する。不一致の場合はプログラムを実行しない(ステップS203〜S2
04、S207参照)。
In step S203, the previous key storage unit 206 refers to the previous security key 207 that is the security key used at the previous execution. If the previous key is not registered, this time is regarded as the first execution, the program is executed as it is, and the security key calculated this time is stored in the previous key storage unit 206 (steps S205 to S206). If the previous key has been registered in step S203, the security key 205 calculated this time and the previous security key 207 stored in the previous key storage unit 206 are compared and verified by the key verification unit 208. If they match, the program is executed. . If they do not match, the program is not executed (steps S203 to S2).
04, S207).

これはユーザまたは第三者が、エンジニアリング装置を使用してプログラムを改造した場合の動作であるが、インターネット経由でコンピュータウィルス等により改竄された場合も図3のフローチャートに沿って動作することで、改竄された不正なプログラムの実行を防止することが可能である。また、プログラムだけでなく制御用パラメータについても、同様にセキュリティキーを算出、前回実行時と比較することで制御用パラメータの改竄防止にも応用できる。   This is the operation when the user or a third party modifies the program using the engineering device, but also when it is altered by a computer virus or the like via the Internet, it operates according to the flowchart of FIG. It is possible to prevent execution of a falsified illegal program. Further, not only the program but also the control parameter can be applied to prevent falsification of the control parameter by calculating the security key in the same manner and comparing it with the previous execution.

実施の形態1によると、制御装置201はプログラムから一意に決まるセキュリティキー205を算出するキー算出部204を備え、これにより算出したセキュリティキー205と前回キー記憶部206にて記憶済みの前回実行プログラムの前回セキュリティキー207とをキー照合部208により比較照合し、不一致の場合はプログラムを実行しないため、第三者やコンピュータウィルス等により不正に改造されたプログラムの実行を防止することができる。なお、制御装置201の各構成要素である受信部202、格納部203、キー算出部204、セキュリティキー205、前回キー記憶部206、前回セキュリティキー207、キー照合部208のそれぞれの動作は、この制御装置201が有するプロセッサとメモリを用いて、当該プロセッサが当該メモリに記憶されたプログラムを実行することにより実現される(図2参照)。   According to the first embodiment, the control device 201 includes a key calculation unit 204 that calculates a security key 205 uniquely determined from a program, and the security key 205 calculated thereby and the previous execution program stored in the previous key storage unit 206. Compared with the previous security key 207 by the key collating unit 208, the program is not executed if they do not match, so execution of a program illegally modified by a third party or a computer virus can be prevented. The operations of the receiving unit 202, the storage unit 203, the key calculation unit 204, the security key 205, the previous key storage unit 206, the previous security key 207, and the key verification unit 208, which are the components of the control device 201, are as follows. This is realized by using a processor and a memory included in the control device 201 and executing the program stored in the memory by the processor (see FIG. 2).

実施の形態2.
以下、この発明の実施の形態2を図4に基づいて説明する。
図4は、この発明の実施の形態2による制御システムを示すブロック図である。
Embodiment 2. FIG.
The second embodiment of the present invention will be described below with reference to FIG.
FIG. 4 is a block diagram showing a control system according to Embodiment 2 of the present invention.

図4では、図1と異なり、制御装置がプログラム実行中に改竄を検知した場合に、重故障または軽故障動作させるRAS(Reliability Availability and Serviceabilityの略
)機能を有するRAS部209をさらに備えている。その他の構成要素は実施の形態1で説明したものと同様である。また、エンジニアリング装置101は、制御装置がプログラム改竄を検知した場合に、重故障動作または軽故障動作のうち、どちらの動作をさせるかを設定する重軽故障パラメータ107を有している。この重軽故障パラメータは、各プログラム部品単位(ここで、プログラム部品とは、プログラム(全体)を機能別に小サイズ化したプログラムのことであって、例えば、コンピュータの機能を記憶機能、演算機能、制御機能、入出力機能に分け、機能ごとにまとめた場合の各プログラムのことを意味する)で設定することにより、改竄部位に応じた動作設定が可能である。
Unlike FIG. 1, FIG. 4 further includes a RAS unit 209 having a RAS (abbreviation of Reliability Availability and Serviceability) function for causing a major or minor failure when the control device detects falsification during program execution. . Other components are the same as those described in the first embodiment. In addition, the engineering device 101 has a heavy / light failure parameter 107 for setting which operation is to be performed between a heavy failure operation and a light failure operation when the control device detects program falsification. The serious failure parameter is a program part unit (here, the program part is a program in which the program (whole) is reduced in size according to function. For example, the computer function is a storage function, a calculation function, It is possible to set the operation according to the falsified part by setting the control function and input / output function, meaning that each program is grouped for each function).

実施の形態1では、実行しようとしているプログラムから算出したセキュリティキー205と記憶済みの前回セキュリティキー207を比較照合して、不一致の場合は実行しないようにしている。   In the first embodiment, the security key 205 calculated from the program to be executed and the stored previous security key 207 are compared and collated, and if they do not match, they are not executed.

しかし、プラント運用開始後に制御装置201が停止するとプラント全体に対する影響が大きいため、プログラム実行中に改竄を検知してもシステムへの影響が小さい場合(ここで、影響の大小については、その機能を停止した場合に制御装置全体としての動作が保証できるか否かにより判断する。例えば、一部の通信機能のみ停止させれば他の機能は通常通り動作するのであれば、影響は小さいとして軽故障とする等。)は、改竄部位のプログラム以外を継続実行できるようにすることが望ましい。そのため改竄を検知した際の動作を、プログラム部品単位でユーザにて設定できるようにする。   However, if the control device 201 is stopped after the plant operation is started, the influence on the entire plant is large. Therefore, even if falsification is detected during the program execution, the influence on the system is small. Judgment is made based on whether or not the operation of the entire control device can be guaranteed in the case of stoppage, for example, if only a part of communication functions are stopped and other functions operate normally, the effect is small and minor failure It is desirable to be able to continue to execute programs other than the tampered part program. For this reason, the operation when tampering is detected can be set by the user in units of program parts.

制御装置201は設定した制御用パラメータに応じて動作させるためのRAS機能を有するRAS部209を備え、重故障設定したプログラム部品で改竄を検知した場合は、制御装置全体のプログラムを停止、軽故障設定したプログラム部品で改竄を検知した場合は、そのプログラム部品のみ停止して他のプログラムは実行することでシステムを縮退運転させる。   The control device 201 includes a RAS unit 209 having a RAS function for operating in accordance with the set control parameters. When falsification is detected by a program component set to a serious failure, the program of the entire control device is stopped and a minor failure is detected. When tampering is detected with the set program parts, only the program parts are stopped and other programs are executed to cause the system to perform a degenerate operation.

実施の形態2によると、エンジニアリング装置101は改竄部位に応じて重故障/軽故障を設定する重軽故障パラメータ107を有し、制御装置201はその設定に応じて動作させるRAS機能を有するRAS部209を備えている。これにより制御装置201がプログラム実行中に改竄を検知した場合でも、制御装置201を停止させずに機能縮退して継続運転すること(軽故障動作)が可能となるため、プラントへの影響を最小限に抑えることができる。なお、制御装置201の上記構成要素であるRAS部209の動作は、この制御装置201が有するプロセッサとメモリを用いて、当該プロセッサが当該メモリに記憶されたプログラムを実行することにより実現される(図2参照)。   According to the second embodiment, the engineering device 101 has the heavy / light failure parameter 107 for setting the heavy failure / light failure according to the falsification site, and the control device 201 has the RAS function that operates according to the setting. 209. As a result, even if the control device 201 detects tampering during the execution of the program, it is possible to continuously operate (light failure operation) by degrading the function without stopping the control device 201, so that the influence on the plant is minimized. To the limit. Note that the operation of the RAS unit 209, which is the above-described component of the control device 201, is realized by executing a program stored in the memory using the processor and memory included in the control device 201 ( (See FIG. 2).

実施の形態3.
以下、この発明の実施の形態3を図5に基づいて説明する。
図5は、この発明の実施の形態3による制御システムを示すブロック図である。図5にお
いて、制御装置201においてプログラムの改竄を検知したことを他のプログラムに通知する通知部210を備えている点が図4に示したものと異なる。他は図4と同じであるので詳しい説明は省略する。
Embodiment 3 FIG.
The third embodiment of the present invention will be described below with reference to FIG.
FIG. 5 is a block diagram showing a control system according to Embodiment 3 of the present invention. 5 is different from that shown in FIG. 4 in that a control unit 201 includes a notification unit 210 that notifies other programs that a program tampering has been detected. The rest is the same as in FIG.

実施の形態2では、プログラムの改竄を検知した場合に重故障または軽故障動作を行い、軽故障となった場合は改竄を検知したプログラムのみの実行を停止する。一般的に制御装置のプログラムは複数のプログラム部品から構成され、改竄されたプログラム部品のみを停止した場合に、他のプログラム部品での制御に影響を与える可能性がある。   In the second embodiment, when a falsification of a program is detected, a major or minor fault operation is performed, and when a minor fault occurs, execution of only the program that has detected the falsification is stopped. In general, the program of the control device is composed of a plurality of program parts, and when only the altered program part is stopped, there is a possibility of affecting the control by other program parts.

そこで、あるプログラム部品で改竄を検知した場合には、内部メモリにその情報を格納して、他のプログラム部品に対して改竄を検知した旨を通知する通知部210を備える。これにより他のプログラム部品では通知された情報を参照することで、改竄されたプログラム部品の停止時に影響を受ける機能を連動して停止させる等の動作が可能となる。   Therefore, when a falsification is detected in a certain program part, the information is stored in the internal memory, and a notification unit 210 that notifies other program parts that falsification has been detected is provided. As a result, by referring to the notified information in the other program parts, it is possible to perform an operation such as stopping the function affected when the altered program part is stopped.

実施の形態3によると、制御装置201においてプログラム部品の改竄を検知したことを他のプログラム部品に通知する通知部210を備えている。これにより、他のプログラム部品でも影響のある機能を連動して停止させる等が可能となるため、改竄を検知した場合でも、より安全に縮退運転ができる。なお、制御装置201の上記構成要素である通知部210の動作は、この制御装置201が有するプロセッサとメモリを用いて、当該プロセッサが当該メモリに記憶されたプログラムを実行することにより実現される(図2参照)。   According to the third embodiment, the control unit 201 includes the notification unit 210 that notifies other program parts that the falsification of the program parts has been detected. As a result, functions that have an effect on other program parts can be stopped in conjunction with each other, so that even when tampering is detected, the degenerate operation can be performed more safely. Note that the operation of the notification unit 210, which is the above-described component of the control device 201, is realized by executing a program stored in the memory using the processor and memory of the control device 201 ( (See FIG. 2).

実施の形態4.
以下、この発明の実施の形態4を図6に基づいて説明する。
図6は、この発明の実施の形態4による制御システムを示すブロック図である。図6において、図5に示したものと符号が同一のものは図5と同内容であるので、ここでは詳しい説明を省略する。
Embodiment 4 FIG.
A fourth embodiment of the present invention will be described below with reference to FIG.
FIG. 6 is a block diagram showing a control system according to Embodiment 4 of the present invention. In FIG. 6, the same reference numerals as those shown in FIG. 5 have the same contents as those in FIG.

図6では、エンジニアリング装置101は、制御装置201と同様に、プログラムからセキュリティキーを算出するキー算出部109を有している。エンジニアリング装置101は、改造前プログラム108からキー算出部109でセキュリティキー110を算出し、自動的に制御用パラメータとして登録して、送信部106で改造後のコード化プログラム104a(改造後のコード化プログラムは略して改造後プログラムとも呼ぶ)とともに制御装置201に送信する。   In FIG. 6, the engineering apparatus 101 includes a key calculation unit 109 that calculates a security key from a program, like the control apparatus 201. The engineering device 101 calculates the security key 110 from the pre-modification program 108 by the key calculation unit 109 and automatically registers it as a control parameter, and the transmission unit 106 modifies the coded program 104a (modified code after modification). The program is also referred to as a post-remodeling program for short) and transmitted to the control device 201.

プログラムを改造する場合、それが正規の改造であることを制御装置に認識させる必要がある。そこで、エンジニアリング装置101にも、制御装置201と同様にプログラムからセキュティキーを算出するキー算出部109を備える。   When modifying a program, it is necessary to make the controller recognize that it is a legitimate modification. Therefore, the engineering apparatus 101 also includes a key calculation unit 109 that calculates a security key from a program, like the control apparatus 201.

エンジニアリング装置101にて、改造前プログラム108から算出したセキュリティキー110を制御用パラメータとして登録し、改造後のプログラムを転送する際に、この制御用パラメータも制御装置201に転送するようにする。制御装置201は受信部202により改造後のコード化プログラム104aと、改造前プログラム108から算出したセキュリティキー110を受信する。   In the engineering device 101, the security key 110 calculated from the pre-modification program 108 is registered as a control parameter, and when the modified program is transferred, the control parameter is also transferred to the control device 201. The control device 201 receives the modified coding program 104 a and the security key 110 calculated from the pre-modification program 108 by the receiving unit 202.

前回キー記憶部206により記憶している前回セキュリティキー207と、エンジニアリング装置101から転送されたセキュリティキー110をキー照合部208により比較照合し、一致する場合は正規な改造と判断し、改造後のコード化プログラム104aを採用する。不一致の場合は不正な改造と判断し、転送されたプログラムは採用しないものとする。   The previous security key 207 stored in the previous key storage unit 206 and the security key 110 transferred from the engineering device 101 are compared and verified by the key verification unit 208. The encoding program 104a is adopted. If they do not match, it will be judged as an unauthorized modification, and the transferred program will not be adopted.

実施の形態4によると、エンジニアリング装置101にて改造前プログラム108から算出したセキュリティキー110により認証を行うことで、不正な改造と正規な改造を区別することができる。また、ユーザはセキュリティ認証するのにパスワード等を記憶しておく必要はないため、パスワード管理等の手間もかからない。なお、キー算出部109の動作は、エンジニアリング装置101が有するプロセッサとメモリにより、当該プロセッサが当該メモリに記憶されたプログラムを実行することにより実現される(図2参照)。   According to the fourth embodiment, by performing authentication using the security key 110 calculated from the pre-modification program 108 in the engineering apparatus 101, it is possible to distinguish between unauthorized modification and regular modification. In addition, since the user does not need to memorize a password or the like for security authentication, it does not require the trouble of password management. Note that the operation of the key calculation unit 109 is realized by the processor and the memory included in the engineering apparatus 101 by the processor executing a program stored in the memory (see FIG. 2).

実施の形態5.
以下、この発明の実施の形態5を図7に基づいて説明する。
図7は、この発明の実施の形態5による制御システムを示すブロック図である。図7では、制御装置201において、前回実行したプログラムをバックアップとして保持する保持部211を備えている点が、図6に示したものと異なる。
Embodiment 5. FIG.
The fifth embodiment of the present invention will be described below with reference to FIG.
FIG. 7 is a block diagram showing a control system according to Embodiment 5 of the present invention. 7 is different from that shown in FIG. 6 in that the control device 201 includes a holding unit 211 that holds a previously executed program as a backup.

実施の形態2では、プログラムの改竄を検知した場合に重故障または軽故障動作を行うが、復旧させるためには改竄されたプログラムを削除して、正しいプログラムをエンジニアリング装置から転送し直す必要があり、その際は一般的には制御装置201のリセット/ラン操作を伴うため設備を停止せざるを得ない。   In the second embodiment, when a falsification of a program is detected, a major or minor fault operation is performed. However, in order to recover, it is necessary to delete the falsified program and transfer the correct program from the engineering device again. In that case, since the reset / run operation of the control device 201 is generally involved, the equipment must be stopped.

そこで、実施の形態5では、制御装置201において、前回実行したプログラムをバックアップとして保持する保持部211を備える。プログラムを実行した際に改竄を検知した場合には、保持したプログラムにてセキュリティキーの算出と、記憶済みのセキュリティキーとの照合を行い、一致する場合は保持したプログラムで実行するものとする。   Therefore, in the fifth embodiment, the control device 201 includes a holding unit 211 that holds a previously executed program as a backup. If tampering is detected when the program is executed, the security key is calculated with the stored program and the stored security key is collated. If they match, the program is executed with the stored program.

実施の形態5によると、前回実行したプログラムをバックアップとして保持する保持部211を備え、実行しようとしていたプログラムの改竄を検知した場合には、バックアップしたプログラムでの実行を可能とすることで、プログラムの改竄及びそれを復旧する際の設備停止が不要となり、プラント運用への影響を最小限にすることができる。なお、制御装置201の上記構成要素である保持部211の動作は、この制御装置201が有するプロセッサとメモリを用いて、当該プロセッサが当該メモリに記憶されたプログラムを実行することにより実現される(図2参照)。   According to the fifth embodiment, the storage unit 211 that holds a previously executed program as a backup is provided, and when it is detected that the program to be executed has been tampered with, the program can be executed with the backed up program. It is not necessary to tamper with the equipment and stop the equipment when restoring it, and the impact on plant operation can be minimized. Note that the operation of the holding unit 211, which is the above-described component of the control device 201, is realized by executing a program stored in the memory using the processor and the memory included in the control device 201 ( (See FIG. 2).

なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。例えば、上記実施の形態1〜5においては、エンジニアリング装置101、あるいは制御装置201は、各1個のプロセッサとメモリを備えるものとして説明したが、これに限らず、複数のプロセッサあるいは複数のメモリを備え、これらが連携して上述の各動作を実行してもよい。   It should be noted that the present invention can be freely combined with each other within the scope of the invention, and each embodiment can be appropriately modified or omitted. For example, in the first to fifth embodiments, the engineering device 101 or the control device 201 has been described as including one processor and a memory each. However, the present invention is not limited to this, and a plurality of processors or memories are included. Provided, and these may cooperate to execute the above-described operations.

101 エンジニアリング装置、102 プログラムエディタ、103 コンパイラ、104 コード化プログラム、104a 改造後のコード化プログラム、105 制御用パラメータ、106 送信部、107 重軽故障パラメータ、108 改造前プログラム、201 制御装置、202 受信部、203 格納部、109、204 キー算出部、110、205 セキュリティキー、206 前回キー記憶部、207 前回セキュリティキー、208 キー照合部、209 RAS部、210 通知部、211 保持部、301 通信ケーブル   DESCRIPTION OF SYMBOLS 101 Engineering apparatus, 102 Program editor, 103 Compiler, 104 Coded program, 104a Coded program after modification, 105 Control parameter, 106 Transmitter, 107 Severe failure parameter, 108 Program before modification, 201 Controller, 202 Reception Unit, 203 storage unit, 109, 204 key calculation unit, 110, 205 security key, 206 previous key storage unit, 207 previous security key, 208 key verification unit, 209 RAS unit, 210 notification unit, 211 holding unit, 301 communication cable

Claims (5)

プラントを制御するためのプログラムを作成するエンジニアリング装置とこのエンジニアリング装置から転送された前記プログラムを実行する制御装置を備えた制御システムであって、
前記制御装置は、
前記エンジニアリング装置から転送された前記プログラムから一意に決まるハッシュ処理されたハッシュ値、あるいは前記エンジニアリング装置からの前記プログラムの初回送信時にユーザによって与えられたパスワード、であるセキュリティキーを算出するキー算出部、
前回のプログラムの実行により算出した前記セキュリティキーを記憶する前回キー記憶部、
今回のプログラムの実行により算出した前記セキュリティキーと、前回キー記憶部で記憶している前回のプログラムの実行時に算出した前記セキュリティキーと、を比較照合するキー照合部、を有し、
前記キー算出部で算出した前回のセキュリティキーがある場合においては、前記キー照合部で比較照合し、比較照合した結果が一致した場合には前記プログラムを実行し、比較照合した結果が不一致の場合には前記プログラムを実行するか否かを予め定められた条件に従って選択し、
前記キー算出部で算出した前回のセキュリティキーがない場合においては、前記キー照合部で比較照合せず、前記プログラムを実行することを特徴とする制御システム。
A control system comprising an engineering device for creating a program for controlling a plant and a control device for executing the program transferred from the engineering device,
The controller is
A key calculation unit that calculates a security key that is a hash value that is uniquely hashed from the program transferred from the engineering device, or a password that is given by a user when the program is first transmitted from the engineering device;
A previous key storage unit for storing the security key calculated by executing the previous program;
A key verification unit that compares and collates the security key calculated by executing the current program and the security key calculated when the previous program stored in the previous key storage unit;
If there is a previous security key calculated by the key calculation unit, the key verification unit performs comparison and verification, and if the comparison and verification result matches, the program is executed, and the comparison and verification result does not match To select whether to execute the program according to a predetermined condition,
When there is no previous security key calculated by the key calculation unit, the key verification unit executes the program without performing comparison verification.
前記エンジニアリング装置は、前記キー照合部の比較照合結果が不一致の場合に前記プログラムの実行を停止するか継続するかを設定するための制御パラメータを有し、
前記制御装置は、前記プログラムの実行中に前記キー照合部の比較照合結果が不一致であることを検知した場合に、前記制御パラメータにより、前記プログラムを機能別に小サイズ化したプログラム部品ごとに当該プログラム部品の実行を停止するか継続するかを事前に設定し、この設定に応じて動作させるRAS機能を有するRAS部を備えたことを特徴とする請求項1に記載の制御システム。
The engineering device has a control parameter for setting whether to stop or continue the execution of the program when the comparison result of the key verification unit does not match,
When the control device detects that the comparison collation result of the key collation unit does not match during the execution of the program, the control device sets the program for each program component that is reduced in size according to function by the control parameter. 2. The control system according to claim 1, further comprising a RAS unit having a RAS function that sets in advance whether to stop or continue execution of a component and operates according to the setting.
前記制御装置は、プログラム実行中に前記キー照合部の比較照合結果が不一致であることを検知した場合において、検知した前記プログラム部品の実行を継続する場合、当該プログラム部品の実行を継続する旨を他のプログラム部品に通知する通知部を有することを特徴とする請求項2に記載の制御システム。   When the control device detects that the comparison result of the key verification unit does not match during execution of the program, when the execution of the detected program component is continued, the control device indicates that the execution of the program component is continued. The control system according to claim 2, further comprising a notification unit that notifies other program parts. 前記エンジニアリング装置は、
前記プログラムから一意に決まるハッシュ処理されたハッシュ値であるセキュリティキーを算出するキー算出部を有し、前記プログラムによりキー算出部で算出したセキュリティキーを制御用パラメータとして登録し、前記プログラムから改造した改造後プログラムと共に前記制御装置に転送し、
前記制御装置は、
前記前回キー記憶部で記憶しているセキュリティキーと前記エンジニアリング装置から転送したセキュリティキーとを照合し、一致する場合には前記改造後プログラムを実行可能と判断することを特徴とする請求項1に記載の制御システム。
The engineering equipment is
A key calculation unit that calculates a security key that is a hash value that is uniquely hashed from the program is registered, the security key calculated by the key calculation unit by the program is registered as a control parameter, and the program is modified from the program Transfer to the control device together with the program after modification,
The controller is
The security key stored in the previous key storage unit and the security key transferred from the engineering device are collated, and if they match, it is determined that the modified program can be executed. The described control system.
前記制御装置は、前回実行したプログラムをバックアップとして保持する保持部を備え、前記プログラムの実行中に前記キー照合部の比較照合結果が不一致であることを検知した場合において、当該プログラムを実行せずに、前記保持部にバックアップしているプログラムを実行することを特徴とする請求項1に記載の制御システム。   The control device includes a holding unit that holds a previously executed program as a backup, and does not execute the program when the comparison result of the key verification unit is detected to be inconsistent during the execution of the program. The control system according to claim 1, wherein a program backed up in the holding unit is executed.
JP2017031708A 2017-02-23 2017-02-23 Control system Pending JP2018136811A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017031708A JP2018136811A (en) 2017-02-23 2017-02-23 Control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017031708A JP2018136811A (en) 2017-02-23 2017-02-23 Control system

Publications (1)

Publication Number Publication Date
JP2018136811A true JP2018136811A (en) 2018-08-30

Family

ID=63366931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017031708A Pending JP2018136811A (en) 2017-02-23 2017-02-23 Control system

Country Status (1)

Country Link
JP (1) JP2018136811A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7016837B2 (en) 2019-06-20 2022-02-07 オムロン株式会社 Controller system
JP7574367B2 (en) 2019-06-27 2024-10-28 キヤノン株式会社 Information processing device, information processing method, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7016837B2 (en) 2019-06-20 2022-02-07 オムロン株式会社 Controller system
JP7574367B2 (en) 2019-06-27 2024-10-28 キヤノン株式会社 Information processing device, information processing method, and program
US12316818B2 (en) 2019-06-27 2025-05-27 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium

Similar Documents

Publication Publication Date Title
CN106775716B (en) Trusted PLC (programmable logic controller) starting method based on measurement mechanism
US10963543B2 (en) Secure communication between operating system and processes
CN108960830B (en) Intelligent contract deployment method, device, equipment and storage medium
EP3270318B1 (en) Dynamic security module terminal device and method for operating same
CN110276198B (en) An embedded variable granularity control flow verification method and system based on probabilistic prediction
JP2019057167A (en) Computer program, device and determining method
CN103500202A (en) Security protection method and system for light-weight database
CN110502889B (en) Login method, login device, computer readable storage medium and computer equipment
CN111143808B (en) System security authentication method and device, computing equipment and storage medium
CN113226858A (en) Information processing apparatus
US20200293666A1 (en) Information processing apparatus, information processing method, and computer program product
US11574046B2 (en) Protecting a software program against tampering
JP2018136811A (en) Control system
CN108256351B (en) File processing method and device, storage medium and terminal
CN119475308A (en) A software protection system, method, storage medium, device and program product
Kopetz et al. Dependability
US12340002B2 (en) Monitoring range determination device, monitoring range determination method, and computer readable medium
CN117763578A (en) Data tamper-proof system and method for financial audit
US20250013752A1 (en) Method for detecting anomalies suggesting a manipulation during a secure starting operation of a software-controlled device
KR102036256B1 (en) Android embedded system with enhanced security
CN116881944A (en) Data processing method of application program, electronic equipment and storage medium
KR102086375B1 (en) System and method for real time prevention and post recovery for malicious software
KR101885146B1 (en) Method and apparatus for protecting an application
CN110597557B (en) System information acquisition method, terminal and medium
CN108228219B (en) Method and device for verifying BIOS validity during in-band refreshing of BIOS