JP2004151807A - Supervision and control system - Google Patents

Supervision and control system Download PDF

Info

Publication number
JP2004151807A
JP2004151807A JP2002313675A JP2002313675A JP2004151807A JP 2004151807 A JP2004151807 A JP 2004151807A JP 2002313675 A JP2002313675 A JP 2002313675A JP 2002313675 A JP2002313675 A JP 2002313675A JP 2004151807 A JP2004151807 A JP 2004151807A
Authority
JP
Japan
Prior art keywords
key code
unit
plc
hmi
packet
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
JP2002313675A
Other languages
Japanese (ja)
Inventor
Takahiro Mita
宇洋 三田
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2002313675A priority Critical patent/JP2004151807A/en
Publication of JP2004151807A publication Critical patent/JP2004151807A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Testing And Monitoring For Control Systems (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a supervision and control system capable of increasing safety by means of a simple arrangement. <P>SOLUTION: The PLC (Programmable Logic Controller) 1 of a PLC part 10 creates key codes to be commonly used by the PCL 1 within the system, and distributes the key codes to the HMI (human interface) of other PLC and HMI part 30. During communication between the PCL part 10 and the HMI part 30, the key code is written in a communication packet and sent; when the key code is correct at the reception of the communication packet, its data are adopted and processed; when it is not correct, the data are disposed of. Thus, when a third party provides a packet intended to cause malfunctions based on formats, the packet can be disposed of and security can be increased by means of a simple arrangement. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、プラント制御で用いる、複数の汎用PLC(Programmable Logic Controller、プログラマブル・ロジック・コントローラ)(以下PLCと称する。)と複数の汎用HMI(Human Interface、ヒューマン・インターフェース)(以下HMIと称する)を組み合わせた監視制御システムに関し、特に、パケット単位のデータ送受信を行うもののうち、パケットにセキュリティを強化した機能を含めたものに関する。
【0002】
【従来の技術】
近年、プラント制御で用いる監視制御システムでは、複数の汎用PLCと複数の汎用HMIを組み合わせたシステムが見られる。このシステムにおいて、PLCとHMI間の通信はCSMA/CD方式のLAN(例えばイーサネット(登録商標))を用いる場合が増えてきた。代表的なプロトコルはTCP/IP(Transmission Control Protocol/InternetProtocol)あるいはUDP(User Datagram Protocol)である。通信パケットのフォーマットは通常固定で決まっており、フォーマットに則った形式のパケットがPLCとHMI間で通信し合う。
【0003】
もし第三者がこのネットワークに侵入し、同フォーマットに則っている異常な誤動作を狙ったパケットを流した場合、システムが誤動作する恐れがある。最近ネットワークセキュリティを掻い潜り、HP(Home page)を改ざんされたという例が見られる。近年は外部のネットワークに接続する工場や事業所が増えてきている。工場や事業所のようなプラント設備にハッカーがアタックした例はあまり見受けられないが、工場や事業所が外部ネットワークに接続する限り悪意を持った第三者から攻撃を受ける可能性がある。もしくは内部者による内部からの攻撃も考えられる。
【0004】
また、従来、例えばシステムを、暗号鍵を用いた暗号通信システムとすることにより、セキュリティを強化したシステムが考えられている(例えば特許文献1参照。)。
【0005】
【特許文献1】
特開平11−243388号(第6−7頁、図1、図2)
【0006】
【発明が解決しようとする課題】
上述のように、従来の監視制御システムにおいては、第三者がネットワークに侵入し、そのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、システムが誤動作する恐れがあるという問題点があった。
【0007】
また、暗号鍵を用いた暗号通信システムとするには、システムの構成が複雑となるという問題点があった。
【0008】
本発明は、このような従来技術の欠点を解消し、悪意を持った第三者がシステムのネットワークに侵入しそのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、それを破棄できる可能性を高めることができ、簡単な構成でセキュリティを強化することが可能な監視制御システムを提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明は、少なくとも1つの制御装置と少なくとも1つの監視装置を有し、制御装置と監視装置との間で通信を行う監視制御システムにおいて、少なくとも1つの制御装置または少なくとも1つの監視装置のうちの1つの装置に設けられ、キーコードを作成するキーコード作成手段と、このキーコード作成手段により作成されたキーコードを、キーコードを作成した装置以外の制御装置及び監視装置に送信する送信手段と、キーコードを作成した装置以外の制御装置及び監視装置に設けられ、送信手段により送信されたキーコードを受信する受信手段と、キーコードを作成した装置においては作成されたキーコードを、キーコードを作成した装置以外の制御装置及び監視装置においては受信されたキーコードをそれぞれ記憶する記憶手段と、制御装置及び監視装置のそれぞれに設けられ、通信パケットを送信する際に、通信パケットに、記憶手段に記憶されたキーコードを書き込み送信する手段と、制御装置及び監視装置のそれぞれに設けられ、通信パケットを受信した際に、通信パケットに書込まれているキーコードと記憶手段に記憶されたキーコードとを比較し、受信した通信パケットのキーコードが正しいかどうかを判定する判定手段と、この判定手段の判定結果により、キーコードが正しい場合には受信した通信パケットのデータを採用して処理を行い、正しくない場合には通信パケットのデータを破棄する処理手段とを備えたことを特徴とする。
【0010】
このような構成の本発明によれば、悪意を持った第三者がシステムのネットワークに侵入しそのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、それを破棄できる可能性を高めることができ、簡単な構成でセキュリティを強化することができる。
【0011】
また、監視装置及び制御装置以外の他のサーバまたは監視装置及び制御装置内のサーバが認証鍵を与える方式と異なり、監視装置と制御装置のみで簡単に実装することができ、コストの削減、システム信頼性の向上を図ることができる。
【0012】
また、本発明は、少なくとも1つの制御装置と少なくとも1つの監視装置を有し、制御装置と監視装置との間で通信を行う監視制御システムにおいて、少なくとも1つの制御装置及び少なくとも1つの監視装置のそれぞれの装置に設けられ、キーコードを作成するキーコード作成手段と、制御装置に設けられ、キーコード作成手段により作成されたキーコードを、監視装置に送信する送信手段と、監視装置に設けられ、制御装置の送信手段から送信されたキーコードを受信する受信手段と、監視装置に設けられ、キーコード作成手段により作成されたキーコードを、制御装置に送信する送信手段と、制御装置に設けられ、監視装置の送信手段から送信されたキーコードを受信する受信手段と、制御装置及び監視装置のそれぞれの装置に設けられ、作成したキーコードを記憶する第1の記憶手段と、制御装置及び監視装置のそれぞれの装置に設けられ、受信手段により受信されたキーコードをそれぞれ記憶する第2の記憶手段と、制御装置及び監視装置のそれぞれに設けられ、通信パケットを送信する際に、通信パケットに、第1の記憶手段に記憶されたキーコードを書き込み送信する手段と、制御装置及び監視装置のそれぞれに設けられ、通信パケットを受信した際に、通信パケットに書込まれているキーコードと第2の記憶手段に記憶されたキーコードとを比較し、受信した通信パケットのキーコードが正しいかどうかを判定する判定手段と、この判定手段の判定結果により、キーコードが正しい場合には受信した通信パケットのデータを採用して処理を行い、正しくない場合には通信パケットのデータを破棄する処理手段とを備えたことを特徴とする。
【0013】
このような構成の本発明によれば、悪意を持った第三者がシステムのネットワークに侵入しそのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、それを破棄できる可能性を高めることができ、簡単な構成でセキュリティを強化することができる。
【0014】
また、監視装置及び制御装置以外の他のサーバまたは監視装置及び制御装置内のサーバが認証鍵を与える方式と異なり、監視装置と制御装置のみで簡単に実装することができ、コストの削減、システム信頼性の向上を図ることができる。
【0015】
さらに、制御装置及び監視装置のそれぞれが送信するパケットについて、それぞれのパケットの送信元が作成したキーコードを用いるため、それぞれの送信元に対応したセキュリティの強化を図ることができる。
【0016】
【発明の実施の形態】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の図において、同符号は同一部分または対応部分を示す。
【0017】
<第1の実施形態>
図1は、本発明の第1の実施形態に係る監視制御システムの概略構成を示す図である。
【0018】
同図に示すように、複数のPLCすなわちPLC1、PLC2、…、PLCMからなるPLC部10と、複数のHMIすなわちHMI1、HMI2、…、HMINからなるHMI部30とは、ネットワーク50で接続されている。
【0019】
PLC部10の各PLCはそれぞれ固有のPLC番号を持つ。
【0020】
この実施形態においては、PLC1はキーコード配信サーバの機能を持つ。PLC1がキーコードを作成して他の各PLC及びHMI部30の各HMIに分配する。PLC例えばPLC1がキーコードを作成する理由は、PLCはパソコンベースのHMIより故障が少なく信頼性が高いこと、及びPLCはHMIよりシャットダウンされることが少ないからである。つまりPLCの方がHMIよりMTBF(Mean Time Between Failure、平均故障間隔)が長いことによる。PLC1が作成したキーコードをシステム全体のキーコードとみなす。
【0021】
次に、この実施形態の動作について説明する。
【0022】
(新キーコードを他のPLCとHMIに指示する場合)
まず、新キーコード配信の動作について説明する。図2は、新キーコード配信の動作を説明するための図で、この図では、PLCの代表として1番目のPLCすなわちPLC1と、他のPLCの一つが示されている。
【0023】
PLC1のキーコード指示管理部11が特定のタイミングでキーコード作成をキーコード生成部12に指示する。ここで言う特定のタイミングとは例えば1時間に1回などを意味する。特定のタイミングは図3のようにPLCに記憶されている。記憶されている時間を周期(更新間隔)としてキーコードを更新する。
【0024】
タイミングは、図4における新キーコード作成開始Tである。このタイミングTで、キーコード生成部12はキーコードを生成する。図2で情報の流れを示す。キーコード生成部12は、キーコード生成部12内のキーコード一時記憶部にそのキーコードをコピーする。キーコード生成部12は、通信パケットのパケットフォーマットのキーコード部にキーコードを記入する。
【0025】
このパケットフォーマットのデータ部に、本パケットはキーコード指示であることを認識させるキーコード指示部がある。キーコード指示部は0/1(0:オフ、1:キーコード指示)の値を取る。キーコードをHMI部30及び他PLCに指示するときのみ、キーコード指示部は1の値を取り、他の場合は0となる。
【0026】
パケットは送信部13からHMI部30と他のPLCに送信され、HMI部30及び他のPLCの受信部31、21が、それぞれそのパケットを受信する。
【0027】
HMI部30及び他のPLCのキーコード指示部判定部32、22は、それぞれ受信したパケットのキーコード指示部が1なら、新しいキーコードが送られてきたと判断し、それぞれのPLCからのキーコード記憶部33、23に記憶する。以上により、PLC部10のPLC1で作成したキーコードがHMI部30側と他のPLCで記憶された。
【0028】
HMI部30と他のPLCは、キーコードが正しく記憶されたことをPLC1に通報するため、HMI部30と他のPLCは確認パケットフォーマットのキーコード確認部に1を書いたパケットを、送信部34、24からそれぞれPLC1に送信する。キーコード確認部は0/1/−1(0:オフ、1:正常記憶、−1:異常)の値を取る。また、このPLC1に送信する確認パケットフォーマットのキーコード部には、今回PLC1から受け取ったキーコードを記す。
【0029】
PLC1は受信部14によりHMI部30から受信した確認パケットフォーマットのキーコード確認部とキーコード部とHMI番号から、各HMIが正しくキーコードを受け取ったか判断する。
【0030】
PLC1は受信部14により他のPLCから受信した確認パケットフォーマットのキーコード確認部とキーコード部とPLC番号から、各PLCが正しくキーコードを受け取ったか判断する。
【0031】
正常に起動している全HMI及び全PLCが正しくキーコードを受け取ったと判断できるまで、正しく受け取れなかったHMI及びPLCに対して、同様の上記動作を繰り返す。
【0032】
図4の新キーコード通報開始Taから新キーコード確認受取Tbまでの区間は更新前のキーコードを使用する。
【0033】
通常は、リトライが発生しても、HMI及びPLCに対しての通報は最終的に成功する。全HMI及び全PLCが正しくキーコードを受け取ったと判断したときキーコード生成部12内のキーコード一時記憶部にコピーされていたキーコードをPLCのキーコード記憶部15に送り記憶する。もし規定回数以上通報が成功しない場合、システムに重大な故障が発生している可能性があるので警報発信する。
【0034】
以上の新キーコード配信の動作を説明するためのフローチャートを図11に示す。同図に示すように、キーコード指示管理部11で時間カウントを行い(ステップS111)、特定タイミングの設定時間になると(ステップS112)、キーコード指示管理部11は、キーコード生成部12に指示してキーコードを作成させ(ステップS113)、時間カウントをリセットする(ステップS114)。キーコード生成部12は作成したキーコードをキーコード一時記憶部(tmp)にコピーする(ステップS115)。キーコードを記入したパケットは送信部13からHMI部30と他のPLCに送信される(ステップS116)。全HMI及び全PLCが正しくキーコードを受信するとキーコード一時記憶部(tmp)にコピーされていたキーコードをPLCのキーコード記憶部15に送り記憶する(ステップS117、ステップS118)。正しく受信されなかったHMI及びPLCがあると、同様の上記動作を繰り返し(ステップS116、ステップS117、ステップS119)、正しく受信されなかった回数が許容値を超えた場合、通信異常として警報発信する(ステップS119、ステップS120)。
【0035】
(新キーコードが他のPLCとHMIに持たれている場合)
次に、図5を参照して、新キーコード配信後のPLC部10とHMI部30との間の通信について説明する。本段階は図4の新キーコード区間に相当する。
【0036】
[PLC→HMIの通信]
PLC部10からHMI部30への通信を説明する。キーコードは既に送信済みであり、ここで言うパケットとは、PLC部10の各PLCが収集したプロセスのアナログ、デジタルデータをパケット化したものである。
【0037】
PLC部10がHMI部30に通信パケットを送信する前に、PLCのキーコード記憶部15が通信パケットのキーコード部にキーコードを記入する。パケットは送信部13からHMI部30に通信され、HMI部30で受信部31がそのパケットを受信し、PLCからのキーコード判定部35が、PLCからのキーコード記憶部33と比較し、通信パケットのキーコード部を判定する。
【0038】
キーコードが正なら、通信パケットがPLCからの情報としてHMI上のアプリケーションで利用される。この利用とは例えば監視システムでのプラントの状態表示等である。
【0039】
キーコードが正しくないなら、なんらかの異常、特に第三者の違法な侵入の可能性があるとして通信パケットは破棄され、監視システム(HMI)に警報発信される。
【0040】
[HMI→PLCの通信]
HMI部30からPLC部10への通信を説明する。HMI部30がPLC部10にパケットを送信する前に、HMI部30のPLCからのキーコード記憶部33が通信パケットのキーコード部にキーコードを記入する。パケットは送信部34からPLC部10に通信され、PLC部10で受信部14がそのパケットを受信し、PLCからのキーコード判定部16が、PLCからのキーコード記憶部17と比較し、通信パケットのキーコード部を判定する。
【0041】
キーコードが正なら、通信パケットがHMIからの情報としてPLCのアプリケーションで利用される。この利用とは、例えば制御システムでのプラントの運転信号オンオフ等である。
【0042】
キーコードが正しくないなら、なんらかの異常、特に第三者の違法な侵入の可能性があるとして通信パケットは破棄され、別の送信パケットの警報通信部(オン=1、オフ=0)に1を書き、同パケットを送信部13からHMI部30に送信する。HMI部30は同パケットの警報通信部を参照し、1ならば警報を発信する。
【0043】
以上説明したように、この第1の実施形態においては、PLC1がキーコード配信サーバの機能を持ち、PLC1がシステム内で共通に使用するキーコードを作成して他の各PLC及びHMI部の各HMIに分配する構成としている。従って、悪意を持った第三者がシステムのネットワークに侵入しそのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、それを破棄できる可能性を高めることができ、簡単な構成でセキュリティを強化することができる。
【0044】
<第2の実施形態>
本発明の第2の実施形態に係る監視制御システムの概略構成は、図1に示す第1の実施形態のものと同様である。
【0045】
PLC部10の各PLCはそれぞれ固有のPLC番号を持つ。また、HMI部の各HMIはそれぞれ固有のHMI番号を持つ。
【0046】
上述の第1の実施形態においては、PLC1がキーコード配信サーバの機能を持ち、PLC1がキーコードを作成して他の各PLC及びHMI部の各HMIに分配することとしたが、この第2の実施形態においては、PLC部の各PLC及びHMI部の各HMIがそれぞれ新キーコードを作成し、HMI部の各HMI及びにPLC部の各PLCに分配することとしたものである。
【0047】
次に、この実施形態の動作について説明する。
【0048】
(PLCが新キーコードをHMIに指示する場合)
図6を参照して、PLC部の各PLCが新キーコードをHMI部の各HMIに配信する動作を説明する。
【0049】
PLC部10の各PLCにおけるキーコード指示管理部11が特定のタイミングでキーコード作成をキーコード生成部12に指示する。ここで言う特定のタイミングとは例えば1時間に1回などを意味する。特定のタイミング(更新の周期)の記憶方法は図3と同じである。タイミングは図4における新キーコード作成開始Tである。
【0050】
このタイミングTで、キーコード生成部12はキーコードを生成する。キーコード生成部12は、キーコード生成部12内のキーコード一時記憶部にそのキーコードをコピーする。キーコード生成部12は、通信パケットのパケットフォーマットのキーコード部にキーコードを記入する。このパケットフォーマットのデータ部に、本パケットはキーコード指示であることを認識させるキーコード指示部がある。キーコード指示部は0/1(0:オフ、1:キーコード指示)の値を取る。キーコードをHMI部30及びPLC部10に指示するときのみ、キーコード指示部は1の値を取り、他の場合は0となる。
【0051】
パケットは送信部13からHMI部30に送信され、HMI部30の受信部31がそのパケットを受信する。
【0052】
HMI部30のキーコード指示部判定部は、受信したパケットのキーコード指示部が1なら、新しいキーコードが送られてきたと判断し、PLCからのキーコード記憶部33に記憶する。PLCからのキーコード記憶部33はPLC M台分のキーコードを記憶できる記憶容量がある。パケットのヘッダー部には、どのPLCが送り元(Source)か判別できるようにPLC番号が書かれている。PLC番号を参照して、該当のPLCからのキーコード記憶部にキーコードが記憶される。以上により、PLC部10で作成したキーコードがHMI部30側で記憶された。
【0053】
図16で示すようにキーコードが正しく記憶されたことをPLC部10に通報するため、HMI部30は確認パケットフォーマットのキーコード確認部に1を書く。キーコード確認部は0/1/−1(0:オフ、1:正常記憶、−1:異常)の値を取る。また、この確認パケットフォーマットのキーコード部に、今回PLC部10から受け取ったキーコードを記し、PLC部10に送信する。PLC部10はHMI部30から受信した確認パケットフォーマットのキーコード確認部とキーコード部とHMI番号から、各HMIが正しくキーコードを受け取ったか判断する。
【0054】
図4の新キーコード通報開始Taから新キーコード確認受取Tbまでの区間は更新前のキーコードを使用する。
【0055】
正常に起動している全HMIが正しくキーコードを受け取ったと判断できるまで正しく受け取れなかったHMIに対して同様の上記動作を繰り返す(図16参照)。
【0056】
通常は、もしリトライが発生しても、HMIに対しての通報は最終的に成功する。全HMIが正しくキーコードを受け取ったと判断したときキーコード生成部12内のキーコード一時記憶部にコピーされていたキーコードをPLCのキーコード記憶部15に送り記憶する。もし規定回数以上通報が成功しない場合、システムに重大な故障が発生している可能性があるので警報発信する。すなわち、図16に示すように、異常通報パケットフォーマットの警報通信部(オン=1、オフ=0)に1を書き込み、送信部13からHMI部30に送信し、HMI部30は受信部31でこれを受信し、警報を発信する処理を行う。
【0057】
(HMIが新キーコードをPLCに指示する場合)
図6を参照して、HMI部の各HMIが新キーコードをPLC部の各PLCに配信する動作を説明する。
【0058】
HMI部30の各HMIにおけるキーコード指示管理部36が特定のタイミングでキーコード作成をキーコード生成部37に指示する。ここで言う特定のタイミングとは例えば1時間に1回などを意味する。特定のタイミング(更新の周期)の記憶方法は図3と同じである。タイミングは図4における新キーコード作成開始Tである。
【0059】
このタイミングTでキーコード生成部37はキーコードを生成する。キーコード生成部37は、キーコード生成部37内のキーコード一時記憶部にそのキーコードをコピーする。キーコード生成部37は通信パケットのパケットフォーマットのキーコード部にキーコードを記入する。このパケットフォーマットのデータ部に、本パケットはキーコード指示であることを認識させるキーコード指示部がある。キーコード指示部は0/1(0:オフ、1:キーコード指示)の値を取る。キーコードをPLC部10に指示するときのみキーコード指示部は1の値をとり、他の場合は0となる。
【0060】
パケットは送信部34からPLC部10に送信され、PLC部10の受信部14がそのパケットを受信する。
【0061】
PLC部10のキーコード指示部判定部は、受信したパケットのキーコード指示部が1なら、新しいキーコードが送られてきたと判断し、HMIからのキーコード記憶部19に記憶する。HMIからのキーコード記憶部19はHMI N台分のキーコードを記憶できる記憶容量がある。パケットのヘッダー部には、どのHMIが送り元(Source)か判別できるようにHMI番号が書かれている。HMI番号を参照して、該当のHMIからのキーコード記憶部にキーコードが記憶される。以上により、HMI部30で作成したキーコードがPLC部10側で記憶された。
【0062】
図16で示すようにキーコードが正しく記憶されたことをHMI部30に通報するため、PLC部10は確認パケットフォーマットのキーコード確認部に1を書く。キーコード確認部は0/1/−1(0:オフ、1:正常記憶、−1:異常)の値を取る。また、この確認パケットフォーマットのキーコード部に、今回HMIから受け取ったキーコードを記し、HMI部30に送信する。HMI部30はPLC部10から受信した確認パケットフォーマットのキーコード確認部とキーコード部とPLC番号から、各PLCが正しくキーコードを受け取ったか判断する。
【0063】
図4の新キーコード通報開始Taから新キーコード確認受取Tbまでの区間は更新前のキーコードを使用する。
【0064】
正常に起動している全PLCが正しくキーコードを受け取ったと判断できるまで正しく受け取れなかったPLCに対して同様の上記動作を繰り返す(図16参照)。
【0065】
通常は、もしリトライが発生しても、PLCに対しての通報は最終的に成功する。全PLCが正しくキーコードを受け取ったと判断したときキーコード生成部37内のキーコード一時記憶部にコピーされていたキーコードをHMIのキーコード記憶部38に送り記憶する(図6参照)。もし規定回数以上通報が成功しない場合、システムに重大な故障が発生している可能性があるので警報発信する。
【0066】
以上の新キーコード配信動作のフローチャートは、第1の実施形態の場合と同様で、図11に示すとおりである。
【0067】
(新キーコードがPLCとHMIに持たれている場合)
次に、図7を参照して、新キーコード配信後のPLC部10とHMI部30との間の通信について説明する。本段階は図4の新キーコード区間に相当する。
【0068】
[PLC→HMIの通信]
PLC部10からHMI部30への通信を説明する。PLC部10がHMI部30にパケットを送信する前に、PLCのキーコード記憶部15が通信パケットのキーコード部にキーコードを記入する。パケットは送信部13からHMI部30に通信され、HMI部30で受信部31がそのパケットを受信し、PLCからのキーコード判定部35が、PLCからのキーコード記憶部33と比較し、通信パケットのキーコード部を判定する。
【0069】
キーコードが正なら、通信パケットがPLCからの情報としてHMI上のアプリケーションで利用される。この利用とは例えば監視システムでのプラントの状態表示等である。
【0070】
キーコードが正しくないなら、なんらかの異常、特に第三者の違法な侵入の可能性があるとして通信パケットは破棄され、監視システム(HMI)に警報発信される。
【0071】
[HMI→PLCの通信]
HMI部30からPLC部10への通信を説明する。HMI部30がPLC部10にパケットを送信する前に、HMIのキーコード記憶部38が通信パケットのキーコード部にキーコードを記入する。パケットは送信部34からPLC部10に通信され、PLC部10で受信部14がそのパケットを受信し、HMIからのキーコード判定部18が、HMIからのキーコード記憶部19と比較し、通信パケットのキーコード部を判定する。
【0072】
キーコードが正なら、通信パケットがHMIからの情報としてPLCのアプリケーションで利用される。この利用とは、例えば制御システムでのプラントの運転信号オンオフ等である。
【0073】
キーコードが正しくないなら、なんらかの異常、特に第三者の違法な侵入の可能性があるとして通信パケットは破棄され、別の送信パケットの警報通信部(オン=1、オフ=0)に1を書き、同パケットをHMI部30に送信する。HMI部は同パケットの警報通信部を参照し、1ならば警報を発信する。すなわち、図16に示すように、異常通報パケットフォーマットの警報通信部(オン=1、オフ=0)に1を書き込み、送信部13からHMI部30に送信し、HMI部30は受信部31でこれを受信し、警報を発信する処理を行う。
【0074】
以上説明したように、この第2の実施形態においては、PLC部の各PLC及びHMI部の各HMIがそれぞれ新キーコードを作成し、HMI部の各HMI及びにPLC部の各PLCに分配する構成としている。従って、悪意を持った第三者がシステムのネットワークに侵入しそのフォーマットに則っている異常な誤動作を狙ったパケットを流した場合、それを破棄できる可能性を高めることができ、簡単な構成でセキュリティを強化することができる。また、PLC部の各PLC及びHMI部の各HMIのそれぞれが送信するパケットについて、それぞれのパケットの送信元が作成したキーコードを用いるため、それぞれの送信元に対応したセキュリティの強化を図ることができる。
【0075】
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。この実施形態は、上述の第1及び第2の実施形態における通信の方式と通信パケットの具体例を示すものである。
【0076】
図1におけるネットワーク50は、CSMA/CD方式のLAN(例えば、イーサネット(登録商標))となる。
【0077】
そして、PLC部10と、HMI部30はそれぞれマルチキャストグループに割り付けられる。
【0078】
PLC部10から出るパケットには大別して3種類ある。パケットのサイズは、例えば、約700WORDである。
【0079】
パケットのフォーマットの概略構成を図8に示す。同図において、(a)はPLCから出るパケットを、(b)はHMIから出るパケットを示す。同図に示すように、UDP、TCP/IPの各プロトコルに特定のプロトコルヘッダー領域がある。
【0080】
パケットの種類とその役割は次のとおりである。
【0081】
(1)通常のデータパケット
(1−1)PLCから出るパケットの場合
プラントの実アナログデータ、実デジタルデータがHMIに送信される。HMIは本データを参照し監視する。
【0082】
(1−2)HMIから出るパケットの場合
プラントに与える指令値がPLCに送信される。これには、アナログ設定値、デジタル指令値がある。
【0083】
(2)新キーコードをHMI部または他のPLCに通達するためのパケット
第1の実施形態の場合、本パケットはPLC1から他PLCとHMIに送信される。
【0084】
第2の実施形態の場合、本パケットはPLCからHMI及びHMIからPLCに送信される。
【0085】
(3)新キーコード通達に成功したことを通達するパケット
第1の実施形態の場合、本パケットは他PLCとHMIからPLC1に送信される。
【0086】
第2の実施形態の場合、本パケットはPLCからHMI及びHMIからPLCに送信される。
【0087】
また、各プロトコルにおける通信方法は、次のとおりである。
【0088】
(プロトコルがUDPの場合)
PLC部10とHMI部30にマルチキャストグループを分ける。特定のマルチキャストアドレスをPLC部10とHMI部30に割り付け、マルチキャストアドレスに対し通信することで、PLC部10からHMI部30 およびHMI部30からPLC部10への通信は同報通信になる。
【0089】
(プロトコルがTCP/IPの場合)
同報通信の概念はなく、特定のIPアドレス同士でコネクションを作り通信することになる。
【0090】
第1の実施形態の場合、パケットはPLC1から他PLCとHMIで順次コネクションが作成され送受信され、それぞれコネクションを順次作成する。
【0091】
第2の実施形態の場合、パケットはPLCからHMI及びHMIからPLCに順次コネクションが作成され送受信される。
【0092】
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。この実施形態は、上述の第1及び第2の実施形態において判別用のキーコードを発生させる時間間隔(更新間隔)を設定する設定機能の具体例を示すものである。
【0093】
この実施形態における判別用のキーコードを発生させる時間間隔(更新間隔)を設定するための画面を図9に示す。
【0094】
判別用のキーコードを発生させる時間間隔(更新間隔)を設定する設定手段は、例えばHMI部30、またはPLC部10に設けられる。
【0095】
本画面には、キーコードを発生させる時間間隔を指定し、操作者が確認できるよう、時間間隔設定部91を設けるとともに、不法侵入者の発見を行えるよう、設定日時を一覧92で表示する。
【0096】
設定指定部93の[PLC]を押した場合はPLCの設定モードになる。[PLC番号]で設定したいPLCを指定する。[HMI]を押した場合はHMIの設定モードになる。[HMI番号]で設定したいHMIを指定する。
【0097】
[変更PB]を押すと、設定時間の変更が行える。変更し、[設定PB]が押されるまでの間は現在のキーコードは変更されない。[設定PB]が押されると設定情報を選択したPLC又はHMIに送信し、受信したPLC又はHMIは図3の設定値を変更する。
【0098】
<第5の実施形態>
次に、本発明の第5の実施形態について説明する。この実施形態は、上述の第1及び第2の実施形態において正しくないキーコードを持ったパケットが来た場合に警報を発信する警報機能の具体例を示すものである。
【0099】
図10に示すHMI上の警報画面に、図示のように、キーコード異常100が表示される。また、システムによって警報を音で出力するものもあるが、この場合には音による通報も行う。
【0100】
<第6の実施形態>
次に、本発明の第6の実施形態に係る監視制御システムを説明する。この実施形態は、一般産業システムに適用した場合のもので、図12は工場の監視制御システムである。
【0101】
このシステムにおいて、制御はPLC部の各PLCで行い、PLC1〜PLCMまでが、随所に配置されている。各PLCは制御情報を管理するPLC本体、現場計器からの入出力信号を管理し、正規化するI/Oユニット、及び現場計器で構成される。中央HMI部30−1は工場の中央に配置され監視制御情報が表示され、またHMIからPLCに対して制御指令を送る。HMI部30とPLC部10は監視制御LAN50で接続される。監視制御LAN50はCSMA/CD方式のLAN(例えばイーサネット(登録商標))である。HMI部の一部30−2(HMIN)は工場の現場と離れた事務所に設置され、事務所から現場の情報を見ることができる。HMINは外部ネットワーク(インターネット)60に接続されるとともに、本社70と社内ネットワーク80で接続されている。このとき、外部から悪意を持った第三者から攻撃を受ける可能性がある。もしくは悪意を持った内部者による内部からの攻撃も考えられる。
【0102】
PLC部10の各PLCはそれぞれ固有のPLC番号を持つ。また、HMI部30の各HMIはそれぞれ固有のHMI番号を持つ。
【0103】
次に、この実施形態の動作について説明する。
【0104】
(PLCが新キーコードをHMIに指示する場合)
まず、PLCが新キーコードをHMIに配信する動作について説明する。
【0105】
例としてHMIN上にキーコード更新間隔設定画面90があり、本画面90からPLC1〜PLCM、HMI1〜HMINのキーコードの更新間隔を設定できる。変更する場合は、設定指定部93の[PLC]、[HMI]のPB(ボタン)で対象を選択し、変更を許可するため、[変更PB]を押す。例えば、PLC1についてキーコードの更新間隔を設定する場合、PLC番号(=1)を指定し、時間間隔設定部91の日時分秒に数値を入力する。例えば日=1、時・分・秒=0とすると、1日=24時間間隔でキーコードの更新を行うことを意味する。数値入力後、[設定PB]を押すと、設定用のパケットが図13に示すように、PLC部のPLC1に送信される。本パケットはPLC1のPLCのキーコード更新間隔記憶部41に対し、キーコード更新間隔を設定する。キーコード更新間隔の初期値は0時0分0秒であり、それからキーコード更新間隔経過後、キーコード指示管理部11の指示によりキーコード生成部はキーコードを生成する。
【0106】
キーコードの作成方法を図14に示す。8桁の乱数を発生させる。乱数は1〜8までの値を取る。キーコードは文字列1〜8が乱数1〜8と対応しており、キーコード作成のタイミングで乱数を発生する。文字列はユニコードとし、半角1文字につき4WORDとなる。
【0107】
例えば86733542という乱数が作られた場合、「文字列8+文字列6+文字列7+文字列3+文字列3+文字列5+文字列4+文字列2」がキーコードとなる。
【0108】
キーコード生成部は、キーコード生成部内のキーコード一時記憶部にそのキーコードをコピーする。キーコード生成部は通信パケットのパケットフォーマットのキーコード部にキーコードを記入する。パケットフォーマットのデータ部に、本パケットはキーコード指示であることを認識させるキーコード指示部がある。
【0109】
キーコード指示部は0/1(0:オフ、1:キーコード指示)の値を取る。キーコードをHMI部30に指示するときのみキーコード指示部は1をとり、他の場合は0となる。
【0110】
パケットは送信部13からHMI部30に送信され、HMI部30がそのパケットを受信する。
【0111】
HMI部30のキーコード指示部判定部は、受信したパケットのキーコード指示部が1なら、新しいキーコードが送られてきたと判断し、PLCからのキーコード記憶部に記憶する。PLCからのキーコード記憶部はPLC M台分のキーコードを記憶できる記憶容量がある。
【0112】
パケットのヘッダー部にはどのPLCが送り元(Source)か判別できるようにPLC番号が書かれている。PLC番号を参照して、該当のPLCからのキーコード記憶部にキーコードが記憶される。以上により、PLC部10で作成したキーコードがHMI部30側で記憶された。
【0113】
以上の処理の手順を図15に示す。すなわち、通常はパケット受信処理、制御処理及びパケット送信処理が行なわれている(ステップS151、ステップS152、ステップS156)が、キーコード変更タイミングという条件成立時、キーコード作成及び送信処理は逐次処理される(ステップS153、ステップS154、ステップS155)。
【0114】
キーコードが送信され、受信したことが確認されるまでの間は図4の新キーコード通報開始Taから新キーコード確認受取Tbまでの区間になるが、この間は更新前のキーコードを使用する。
【0115】
キーコードが正しく記憶されたことをPLC部10に通報するため、HMI部30はパケットのキーコード確認部に1を書く。キーコード確認部は0/1/−1(0:オフ、1:正常記憶、−1:異常)の値を取る。またこの確認パケットフォーマットのキーコード部に、今回PLC部10から受け取ったキーコードを記し、PLC部10に送信する。PLC部10はHMI部30から受信した確認パケットフォーマットのキーコード確認部とキーコード部とHMI番号から、各HMIが正しくキーコードを受け取ったか判断する。
【0116】
正常に起動している全HMIが正しくキーコードを受け取ったと判断できるまで正しく受け取れなかったHMIに対して同様の上記動作を繰り返す。
【0117】
通常は、もしリトライが発生しても、HMIに対しての通報は最終的に成功する。全HMIが正しくキーコードを受け取ったと判断したときキーコード生成部内のキーコード一時記憶部にコピーされていたキーコードをPLCのキーコード記憶部に送り記憶する。もし規定回数以上通報が成功しない場合、システムに重大な故障が発生している可能性があるので警報発信する。
【0118】
(HMIが新キーコードをPLCに指示する場合)
次に、HMIが新キーコードをPLCに配信する動作について説明する。
【0119】
例としてHMIN上にキーコード更新間隔設定画面90があり、本画面90からPLC1〜PLCM、HMI1〜HMINのキーコードを設定できる。変更する場合は、変更を許可するため、設定指定部93の[変更PB]を押す。例えば、HMI1についてキーコードの更新間隔を設定する場合、HMI番号(=1)を指定し、時間間隔設定部91の日時分秒に数値を入力する。例えば日=1、時・分・秒=0とすると、1日=24時間間隔でキーコードの更新を行うことを意味する。数値入力後、[設定PB]を押すと、設定用のパケットがHMI1に送信される。本パケットはHMI1のHMIのキーコード更新間隔記憶部に対し、キーコード更新間隔を設定する。キーコード更新間隔の初期値は0時0分0秒であり、それからキーコード更新間隔経過後、キーコード指示管理部の指示によりキーコード生成部はキーコードを生成する。キーコードの作成方法を図14に示す。8桁の乱数を発生させる。乱数は1〜8までの値を取る。キーコードは文字列1〜8が乱数1〜8と対応しており、キーコード作成のタイミングで乱数を発生する。文字列はユニコードとし、半角1文字につき4WORDとなる。
【0120】
例えば54438217と言う乱数が作られた場合、「文字列5+文字列4+文字列4+文字列3+文字列8+文字列2+文字列1+文字列7」がキーコードとなる。
【0121】
キーコード生成のタイミングは図4における新キーコード通報開始である。 このタイミングでキーコード生成部はキーコードを生成する。キーコード生成部は、キーコード生成部内のキーコード一次記憶部にそのキーコードをコピーする。キーコード生成部は通信パケットのパケットフォーマットのキーコード部にキーコードを記入する。パケットフォーマットのデータ部に、本パケットはキーコード指示であることを認識させるキーコード指示部がある。キーコード指示部は0/1(0:オフ、1:キーコード指示)の値を取る。キーコードをPLC部10に指示するときのみキーコード指示部は1をとり、他の場合は0となる。
【0122】
パケットは送信部からPLC部10に送信され、PLC部10がそのパケットを受信する。
【0123】
PLC部10のキーコード指示部判定部は、受信したパケットのキーコード指示部が1なら、新しいキーコードが送られてきたと判断し、HMIからのキーコード記憶部に記憶する。HMIからのキーコード記憶部はHMI N台分のキーコードを記憶できる記憶容量がある。
【0124】
パケットのヘッダー部には、どのHMIが送り元(Source)か判別できるように、HMI番号が書かれている。HMI番号を参照して、該当のHMIからのキーコード記憶部にキーコードが記憶される。以上により、HMI部30で作成したキーコードがPLC部10側で記憶された。
【0125】
キーコードが正しく記憶されたことをHMI部30に通報するため、PLC部10はパケットのキーコード確認部に1を書く。キーコード確認部は0/1/−1(0:オフ、1:正常記憶、−1:異常)の値を取る。また、この確認パケットフォーマットのキーコード部に、今回HMI部30から受け取ったキーコードを記し、HMI部30に送信する。HMI部30はPLC部10から受信した確認パケットフォーマットのキーコード確認部とキーコード部とPLC番号から、各PLCが正しくキーコードを受け取ったか判断する。
【0126】
図4の新キーコード通報開始Taから新キーコード確認受取Tbまでの区間は更新前のキーコードを使用する。
【0127】
正常に起動している全PLCが正しくキーコードを受け取ったと判断できるまで正しく受け取れなかったPLCに対して同様の上記動作を繰り返す。
【0128】
通常は、もしリトライが発生しても、PLCに対しての通報は最終的に成功する。全PLCが正しくキーコードを受け取ったと判断したときキーコード生成部内のキーコード一時記憶部にコピーされていたキーコードをHMIのキーコード記憶部に送り記憶する。もし規定回数以上通報が成功しない場合、システムに重大な故障が発生している可能性があるので図10の警報画面にキーコード異常100を警報発信する。
【0129】
以上の新キーコード配信動作のフローチャートは図11に示すとおりである。
【0130】
(新キーコードがPLCとHMIに持たれている場合)
次に、図7を参照して、新キーコード配信後のPLC部10とHMI部30との間の通信について説明する。本段階は図4の新キーコード区間に相当する。
【0131】
[PLC→HMIの通信]
PLC部10からHMI部30への通信を説明する。PLC部10がHMI部30にパケットを送信する前に、PLCのキーコード記憶部15が通信パケットのキーコード部にキーコードを記入する。パケットは送信部13からHMI部30に通信され、HMI部30で受信部31がそのパケットを受信し、PLCからのキーコード判定部35が、PLCからのキーコード記憶部33と比較し、通信パケットのキーコード部を判定する。
【0132】
キーコードが正なら、通信パケットがPLCからの情報としてHMI上のアプリケーションで利用される。この利用とは例えば監視システムでのプラントの状態表示等である。
【0133】
キーコードが正しくないなら、なんらかの異常、特に第3者の違法な侵入の可能性があるとして通信パケットは破棄され、監視システム(HMI)に警報発信される。
【0134】
[HMI→PLCの通信]
HMI部30からPLC部10への通信を説明する。HMI部30がPLC部10にパケットを送信する前に、HMIのキーコード記憶部38が通信パケットのキーコード部にキーコードを記入する。パケットは送信部34からPLC部10に通信され、PLC 部10で受信部14がそのパケットを受信し、HMIからのキーコード判定部18が、HMIからのキーコード記憶部19と比較し、通信パケットのキーコード部を判定する。
【0135】
キーコードが正なら、通信パケットがHMIからの情報としてPLCのアプリケーションで利用される。この利用とは、例えば制御システムでのプラントの運転信号オンオフ等である。
【0136】
キーコードが正しくないなら、なんらかの異常、特に第3者の違法な侵入の可能性があるとして通信パケットは破棄され、別の送信パケットの警報通信部(オン=1、オフ=0)に1を書き、同パケットをHMI部30に送信する。HMI部30は同パケットの警報通信部を参照し、1ならば図10の警報画面にキーコード異常100を警報発信する。
【0137】
なお、上述の各実施形態は、産業用プロセス、上下水道等の監視制御システムに適用して実施することができる。
【0138】
【発明の効果】
本発明によれば、産業一般プラントで用いる、少なくとも1つの制御装置と少なくとも1つの監視装置を有し、制御装置と監視装置との間で通信を行う監視制御システムにおいて、その制御装置と監視装置との間の通信はパケット単位のデータ送受信を行うもののうち、悪意を持った第三者がこのシステムのネットワークに侵入しそのフォーマットに則った、プラントを異常な誤動作をさせるためのパケットを流した場合でも、それを破棄できる可能性を大幅に高められる。
【図面の簡単な説明】
【図1】本発明の第1乃至第5の実施形態に係る監視制御システムの概略構成を示す図。
【図2】本発明の第1の実施形態における新キーコード配信の動作を説明するための図。
【図3】本発明の第1乃至第6の実施形態における新キーコードを発生させる時間間隔の記憶方法の例を示す図。
【図4】本発明の第1乃至第6の実施形態における新キーコードの使用期間を示す図。
【図5】本発明の第1の実施形態における通信の動作を説明するための図。
【図6】本発明の第2の実施形態における新キーコード配信の動作を説明するための図。
【図7】本発明の第2、及び第6の実施形態における通信の動作を説明するための図。
【図8】本発明の第3の実施形態におけるパケットのフォーマットの概略構成を示す図で、(a)はPLCから出るパケットのフォーマット、(a)はHMIから出るパケットのフォーマットを示す図。
【図9】本発明の第4の実施形態におけるキーコード更新間隔設定画面の例を示す図。
【図10】本発明の第5の実施形態における警報画面の例を示す図。
【図11】本発明の第1、第2、及び第6の実施形態における新キーコード配信の動作を示すフローチャート。
【図12】本発明の第6の実施形態に係る監視制御システムの概略構成を示す図。
【図13】本発明の第6の実施形態におけるキーコード更新間隔設定の動作を説明するための図。
【図14】本発明の第6の実施形態におけるキーコードの作成方法を説明するための図。
【図15】本発明の第6の実施形態におけるPLCの通常の処理及びキーコードの処理の動作を示すフローチャート。
【図16】本発明の第2の実施形態における異常動作を説明するための図。
【符号の説明】
10…PLC部
30…HMI部
50…ネットワーク(監視制御LAN)
11…キーコード指示管理部
12…キーコード生成部
13、24、34…送信部
14、21、31…受信部
15…PLCのキーコード記憶部
16、35…PLCからのキーコード判定部
22、32…キーコード指示部判定部
17、23、33…PLCからのキーコード記憶部
18…HMIからのキーコード判定部
19…HMIからのキーコード記憶部
41…PLCのキーコード更新間隔記憶部
60…外部ネットワーク(インターネット)
70…本社
80…社内ネットワーク
90…キーコード更新間隔設定画面
100…キーコード異常
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a plurality of general-purpose PLCs (Programmable Logic Controllers) (hereinafter referred to as PLCs) and a plurality of general-purpose HMIs (Human Interfaces) (hereinafter referred to as HMIs) used in plant control. In particular, the present invention relates to a system that performs data transmission / reception in packet units and includes a packet that includes a function with enhanced security.
[0002]
[Prior art]
2. Description of the Related Art In recent years, in a monitoring control system used for plant control, a system in which a plurality of general-purpose PLCs and a plurality of general-purpose HMIs are combined has been seen. In this system, the communication between the PLC and the HMI often uses a CSMA / CD system LAN (for example, Ethernet (registered trademark)). Typical protocols are TCP / IP (Transmission Control Protocol / Internet Protocol) or UDP (User Datagram Protocol). The format of a communication packet is usually fixed, and packets of a format conforming to the format communicate between the PLC and the HMI.
[0003]
If a third party intrudes into this network and sends a packet that targets an abnormal malfunction according to the format, the system may malfunction. Recently, there has been seen an example in which HP (Home page) has been tampered with with a dip in network security. In recent years, factories and offices connected to external networks have been increasing. Although hackers have not seen many attacks on plant equipment such as factories and offices, there is a possibility that a malicious third party could attack the factory or office as long as the factory or office is connected to an external network. Or insider attacks by insiders are also conceivable.
[0004]
Conventionally, for example, a system in which security is strengthened by using a cryptographic communication system using a cryptographic key has been considered (for example, see Patent Document 1).
[0005]
[Patent Document 1]
JP-A-11-243388 (pages 6-7, FIGS. 1 and 2)
[0006]
[Problems to be solved by the invention]
As described above, in the conventional monitoring and control system, there is a problem that the system may malfunction if a third party intrudes into the network and flows a packet that targets an abnormal malfunction according to the format. was there.
[0007]
Further, there is a problem that the configuration of the system becomes complicated in order to provide an encryption communication system using an encryption key.
[0008]
The present invention solves such disadvantages of the conventional technology, and when a malicious third party intrudes into a system network and sends a packet aimed at an abnormal malfunction according to the format, the packet is discarded. It is an object of the present invention to provide a monitoring and control system that can increase the possibility of being capable of enhancing security with a simple configuration.
[0009]
[Means for Solving the Problems]
The present invention relates to a monitoring control system having at least one control device and at least one monitoring device and performing communication between the control device and the monitoring device, wherein the at least one control device or the at least one monitoring device is provided. Key code generating means provided in one device for generating a key code, and transmitting means for transmitting the key code generated by the key code generating means to a control device and a monitoring device other than the device that generated the key code; A receiving unit provided in a control device and a monitoring device other than the device that has created the key code, for receiving the key code transmitted by the transmitting unit, and a key code created in the device that has created the key code. Storage means for respectively storing the received key code in the control device and the monitoring device other than the device that created the A communication unit that is provided in each of the control device and the monitoring device and writes and transmits the key code stored in the storage unit to the communication packet when transmitting the communication packet; When receiving the packet, comparing the key code written in the communication packet with the key code stored in the storage means, and determining whether the key code of the received communication packet is correct; According to the determination result of the determination means, when the key code is correct, processing is performed by using the data of the received communication packet, and when the key code is incorrect, processing means for discarding the data of the communication packet is provided. I do.
[0010]
According to the present invention having such a configuration, when a malicious third party intrudes into a network of a system and flows a packet aimed at an abnormal malfunction according to the format, the possibility that the packet can be discarded can be reduced. Security can be enhanced with a simple configuration.
[0011]
Also, unlike a method in which the server other than the monitoring device and the control device or the server in the monitoring device and the control device gives an authentication key, the authentication key can be easily implemented only with the monitoring device and the control device, thereby reducing the cost and the system. The reliability can be improved.
[0012]
Further, the present invention provides a monitoring control system having at least one control device and at least one monitoring device, and performing communication between the control device and the monitoring device, wherein the at least one control device and the at least one monitoring device Key code generation means provided in each device and for generating a key code, transmission means provided in the control device and transmitting the key code generated by the key code generation means to the monitoring device, and provided in the monitoring device Receiving means for receiving the key code transmitted from the transmitting means of the control device, transmitting means for transmitting the key code generated by the key code generating means to the control device, provided in the monitoring device, and provided in the control device. Receiving means for receiving the key code transmitted from the transmitting means of the monitoring device, and a control device and a monitoring device. A first storage unit that stores the created key code; a second storage unit that is provided in each of the control device and the monitoring device and stores the key code received by the reception unit; Means for providing a key code stored in the first storage means in the communication packet when transmitting a communication packet, and means for transmitting the communication packet; When receiving a packet, comparing the key code written in the communication packet with the key code stored in the second storage means to determine whether the key code of the received communication packet is correct According to the determination result of this determination means, if the key code is correct, the processing is performed by using the data of the received communication packet, and if the key code is incorrect, Characterized by comprising a discarding means the data communications packet.
[0013]
According to the present invention having such a configuration, when a malicious third party intrudes into a network of a system and flows a packet aimed at an abnormal malfunction according to the format, the possibility that the packet can be discarded can be reduced. Security can be enhanced with a simple configuration.
[0014]
Also, unlike a method in which the server other than the monitoring device and the control device or the server in the monitoring device and the control device gives an authentication key, the authentication key can be easily implemented only with the monitoring device and the control device, thereby reducing the cost and the system. The reliability can be improved.
[0015]
Furthermore, since the key code created by the transmission source of each packet is used for the packet transmitted by each of the control device and the monitoring device, the security corresponding to each transmission source can be enhanced.
[0016]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the following drawings, the same symbols indicate the same or corresponding parts.
[0017]
<First embodiment>
FIG. 1 is a diagram illustrating a schematic configuration of a monitoring control system according to a first embodiment of the present invention.
[0018]
As shown in FIG. 1, a PLC unit 10 composed of a plurality of PLCs, that is, PLC1, PLC2,..., PLCM, and an HMI unit 30 composed of a plurality of HMIs, that is, HMI1, HMI2,. I have.
[0019]
Each PLC of the PLC unit 10 has a unique PLC number.
[0020]
In this embodiment, the PLC 1 has a function of a key code distribution server. The PLC 1 creates a key code and distributes it to each of the other PLCs and the HMIs of the HMI unit 30. The reason why the PLC, for example, the PLC 1 generates the key code is that the PLC has fewer failures and is more reliable than the personal computer-based HMI, and the PLC is less shut down than the HMI. That is, the PLC has a longer MTBF (Mean Time Between Failure, mean time between failures) than the HMI. The key code created by the PLC 1 is regarded as the key code of the entire system.
[0021]
Next, the operation of this embodiment will be described.
[0022]
(When a new key code is specified to another PLC and HMI)
First, the operation of new key code distribution will be described. FIG. 2 is a diagram for explaining the operation of new key code distribution. In this diagram, the first PLC, that is, the PLC1, and one of the other PLCs are shown as representatives of the PLC.
[0023]
The key code instruction management unit 11 of the PLC 1 instructs the key code generation unit 12 to create a key code at a specific timing. Here, the specific timing means, for example, once an hour. The specific timing is stored in the PLC as shown in FIG. The key code is updated using the stored time as a cycle (update interval).
[0024]
The timing is the start of the new key code creation T in FIG. 1 It is. This timing T 1 Then, the key code generation unit 12 generates a key code. FIG. 2 shows the flow of information. The key code generation unit 12 copies the key code to a key code temporary storage unit in the key code generation unit 12. The key code generation unit 12 writes the key code in the key code part of the packet format of the communication packet.
[0025]
In the data section of this packet format, there is a key code indicating section for recognizing that this packet is a key code indicating. The key code indicating section takes a value of 0/1 (0: off, 1: key code indicating). Only when the key code is instructed to the HMI unit 30 and another PLC, the key code instructing unit takes a value of 1; otherwise, it takes 0.
[0026]
The packet is transmitted from the transmission unit 13 to the HMI unit 30 and another PLC, and the HMI unit 30 and the reception units 31 and 21 of the other PLCs receive the packet.
[0027]
If the key code indicator of the received packet is 1, the HMI unit 30 and the key code indicator determiners 32 and 22 of the other PLCs determine that a new key code has been sent, and the key code from each PLC. The information is stored in the storage units 33 and 23. As described above, the key code created by the PLC 1 of the PLC unit 10 is stored in the HMI unit 30 and another PLC.
[0028]
The HMI unit 30 and the other PLC notify the PLC 1 that the key code has been correctly stored. Therefore, the HMI unit 30 and the other PLC transmit a packet in which 1 is written in the key code confirmation unit of the confirmation packet format to the transmission unit. 34 and 24 respectively transmit to the PLC 1. The key code checking unit takes a value of 0/1 / -1 (0: off, 1: normal storage, -1: abnormal). The key code part of the confirmation packet format transmitted to the PLC 1 describes the key code received from the PLC 1 this time.
[0029]
The PLC 1 determines whether each HMI has correctly received the key code from the key code confirmation unit, the key code unit, and the HMI number of the confirmation packet format received from the HMI unit 30 by the reception unit 14.
[0030]
The PLC 1 determines whether each PLC has correctly received the key code based on the key code confirmation unit, the key code unit, and the PLC number of the confirmation packet format received from another PLC by the reception unit 14.
[0031]
The same operation is repeated for HMIs and PLCs that have not been correctly received until it can be determined that all the HMIs and PLCs that are operating normally have received the key code correctly.
[0032]
In the section from the new key code notification start Ta to the new key code confirmation reception Tb in FIG. 4, the key code before update is used.
[0033]
Normally, even if a retry occurs, the notification to the HMI and the PLC finally succeeds. When it is determined that all the HMIs and all the PLCs have correctly received the key code, the key code copied to the key code temporary storage unit in the key code generation unit 12 is sent to the key code storage unit 15 of the PLC and stored. If the notification is not successful more than the specified number of times, a warning is issued because a serious failure may have occurred in the system.
[0034]
FIG. 11 is a flowchart for explaining the operation of the new key code distribution. As shown in the figure, the key code instruction management unit 11 counts the time (step S111), and when the set time of the specific timing comes (step S112), the key code instruction management unit 11 instructs the key code generation unit 12 Then, a key code is created (step S113), and the time count is reset (step S114). The key code generation unit 12 copies the created key code to the key code temporary storage unit (tmp) (Step S115). The packet in which the key code is entered is transmitted from the transmission unit 13 to the HMI unit 30 and another PLC (Step S116). When all the HMIs and all the PLCs correctly receive the key code, the key code copied to the key code temporary storage unit (tmp) is sent to the key code storage unit 15 of the PLC and stored (steps S117 and S118). If there are HMIs and PLCs that have not been received correctly, the same operation is repeated (steps S116, S117, and S119). If the number of incorrect receptions exceeds an allowable value, an alarm is issued as a communication abnormality ( Steps S119 and S120).
[0035]
(When a new key code is stored in another PLC and HMI)
Next, communication between the PLC unit 10 and the HMI unit 30 after the distribution of the new key code will be described with reference to FIG. This stage corresponds to the new key code section in FIG.
[0036]
[Communication from PLC to HMI]
Communication from the PLC unit 10 to the HMI unit 30 will be described. The key code has already been transmitted, and the packet referred to here is a packetized analog and digital data of the process collected by each PLC of the PLC unit 10.
[0037]
Before the PLC unit 10 transmits a communication packet to the HMI unit 30, the key code storage unit 15 of the PLC writes a key code in the key code part of the communication packet. The packet is transmitted from the transmission unit 13 to the HMI unit 30. The reception unit 31 receives the packet in the HMI unit 30, and the key code determination unit 35 from the PLC compares the packet with the key code storage unit 33 from the PLC. The key code part of the packet is determined.
[0038]
If the key code is positive, the communication packet is used by the application on the HMI as information from the PLC. This use is, for example, display of a plant state in a monitoring system.
[0039]
If the key code is not correct, the communication packet is discarded as a possibility of some abnormality, especially illegal intrusion by a third party, and an alarm is sent to a monitoring system (HMI).
[0040]
[Communication from HMI to PLC]
Communication from the HMI unit 30 to the PLC unit 10 will be described. Before the HMI unit 30 transmits a packet to the PLC unit 10, the key code storage unit 33 from the PLC of the HMI unit 30 writes a key code in the key code unit of the communication packet. The packet is transmitted from the transmission unit 34 to the PLC unit 10, and the reception unit 14 receives the packet in the PLC unit 10, and the key code determination unit 16 from the PLC compares the packet with the key code storage unit 17 from the PLC. The key code part of the packet is determined.
[0041]
If the key code is positive, the communication packet is used by the PLC application as information from the HMI. This use is, for example, on / off of an operation signal of a plant in a control system.
[0042]
If the key code is not correct, the communication packet is discarded because there is a possibility of something abnormal, especially illegal entry by a third party, and 1 is set to the alarm communication unit (ON = 1, OFF = 0) of another transmission packet. Then, the packet is transmitted from the transmission unit 13 to the HMI unit 30. The HMI unit 30 refers to the alarm communication unit of the packet, and if it is 1, sends an alarm.
[0043]
As described above, in the first embodiment, the PLC 1 has a function of a key code distribution server, and the PLC 1 creates a key code that is commonly used in the system and generates a key code for each of the other PLCs and the HMI unit. It is configured to distribute to HMI. Therefore, if a malicious third party intrudes into the system network and sends a packet that targets an abnormal malfunction that conforms to the format, the possibility of discarding the packet can be increased, and a simple configuration can be used. Security can be strengthened.
[0044]
<Second embodiment>
The schematic configuration of the monitoring control system according to the second embodiment of the present invention is the same as that of the first embodiment shown in FIG.
[0045]
Each PLC of the PLC unit 10 has a unique PLC number. Each HMI of the HMI section has a unique HMI number.
[0046]
In the above-described first embodiment, the PLC 1 has a function of a key code distribution server, and the PLC 1 creates a key code and distributes the key code to each of the other PLCs and the HMIs of the HMI unit. In the embodiment, each PLC of the PLC unit and each HMI of the HMI unit respectively create a new key code, and distribute the new key code to each HMI of the HMI unit and each PLC of the PLC unit.
[0047]
Next, the operation of this embodiment will be described.
[0048]
(When the PLC indicates a new key code to the HMI)
With reference to FIG. 6, an operation in which each PLC of the PLC unit distributes a new key code to each HMI of the HMI unit will be described.
[0049]
The key code instruction management unit 11 in each PLC of the PLC unit 10 instructs the key code generation unit 12 to create a key code at a specific timing. Here, the specific timing means, for example, once an hour. The method of storing the specific timing (update cycle) is the same as that in FIG. The timing is the start T of the new key code creation in FIG. 1 It is.
[0050]
This timing T 1 Then, the key code generation unit 12 generates a key code. The key code generation unit 12 copies the key code to a key code temporary storage unit in the key code generation unit 12. The key code generation unit 12 writes the key code in the key code part of the packet format of the communication packet. In the data section of this packet format, there is a key code indicating section for recognizing that this packet is a key code indicating. The key code indicating section takes a value of 0/1 (0: off, 1: key code indicating). Only when the key code is instructed to the HMI unit 30 and the PLC unit 10, the key code indicating unit takes a value of 1; otherwise, it becomes 0.
[0051]
The packet is transmitted from the transmitting unit 13 to the HMI unit 30, and the receiving unit 31 of the HMI unit 30 receives the packet.
[0052]
If the key code indicator of the received packet is 1, the key code indicator determiner of the HMI unit 30 determines that a new key code has been sent, and stores it in the key code storage unit 33 from the PLC. The key code storage unit 33 from the PLC has a storage capacity capable of storing key codes for M PLCs. A PLC number is written in the header of the packet so that it can be determined which PLC is the source (Source). With reference to the PLC number, the key code is stored in the key code storage unit from the corresponding PLC. As described above, the key code created by the PLC unit 10 is stored on the HMI unit 30 side.
[0053]
As shown in FIG. 16, the HMI unit 30 writes 1 in the key code confirmation unit of the confirmation packet format in order to notify the PLC unit 10 that the key code has been correctly stored. The key code checking unit takes a value of 0/1 / -1 (0: off, 1: normal storage, -1: abnormal). Further, the key code received from the PLC unit 10 this time is described in the key code portion of the confirmation packet format, and transmitted to the PLC unit 10. The PLC unit 10 determines whether each HMI has correctly received the key code from the key code confirmation unit, the key code unit, and the HMI number of the confirmation packet format received from the HMI unit 30.
[0054]
In the section from the new key code notification start Ta to the new key code confirmation reception Tb in FIG. 4, the key code before update is used.
[0055]
The same operation is repeated for HMIs that have not been correctly received until it can be determined that all the HMIs that are operating normally have received the key code correctly (see FIG. 16).
[0056]
Normally, even if a retry occurs, the notification to the HMI will eventually succeed. When it is determined that all the HMIs have correctly received the key code, the key code copied to the key code temporary storage unit in the key code generation unit 12 is sent to the key code storage unit 15 of the PLC and stored. If the notification is not successful more than the specified number of times, a warning is issued because a serious failure may have occurred in the system. That is, as shown in FIG. 16, 1 is written in the alarm communication unit (ON = 1, OFF = 0) of the abnormality notification packet format, and transmitted from the transmission unit 13 to the HMI unit 30. This is received and a process of transmitting an alarm is performed.
[0057]
(When the HMI indicates a new key code to the PLC)
The operation of each HMI of the HMI unit delivering a new key code to each PLC of the PLC unit will be described with reference to FIG.
[0058]
The key code instruction management unit 36 in each HMI of the HMI unit 30 instructs the key code generation unit 37 to create a key code at a specific timing. Here, the specific timing means, for example, once an hour. The method of storing the specific timing (update cycle) is the same as that in FIG. The timing is the start T of the new key code creation in FIG. 1 It is.
[0059]
This timing T 1 Then, the key code generation unit 37 generates a key code. The key code generation unit 37 copies the key code to a key code temporary storage unit in the key code generation unit 37. The key code generation unit 37 writes the key code in the key code part of the packet format of the communication packet. In the data section of this packet format, there is a key code indicating section for recognizing that this packet is a key code indicating. The key code indicating section takes a value of 0/1 (0: off, 1: key code indicating). Only when the key code is instructed to the PLC section 10, the key code instructing section takes a value of 1; otherwise, it takes 0.
[0060]
The packet is transmitted from the transmitting unit 34 to the PLC unit 10, and the receiving unit 14 of the PLC unit 10 receives the packet.
[0061]
If the key code indicating unit of the received packet is 1, the key code indicating unit determining unit of the PLC unit 10 determines that a new key code has been sent, and stores it in the key code storing unit 19 from the HMI. The key code storage unit 19 from the HMI has a storage capacity capable of storing key codes for N HMIs. An HMI number is written in the header of the packet so that it can be determined which HMI is the source (Source). With reference to the HMI number, the key code is stored in the key code storage unit from the corresponding HMI. As described above, the key code created by the HMI unit 30 is stored on the PLC unit 10 side.
[0062]
As shown in FIG. 16, in order to notify the HMI unit 30 that the key code has been correctly stored, the PLC unit 10 writes 1 in the key code confirmation unit of the confirmation packet format. The key code checking unit takes a value of 0/1 / -1 (0: off, 1: normal storage, -1: abnormal). Also, the key code received from the HMI this time is described in the key code portion of the confirmation packet format, and transmitted to the HMI unit 30. The HMI unit 30 determines whether each PLC has correctly received the key code from the key code confirmation unit, the key code unit, and the PLC number of the confirmation packet format received from the PLC unit 10.
[0063]
In the section from the new key code notification start Ta to the new key code confirmation reception Tb in FIG. 4, the key code before update is used.
[0064]
The same operation is repeated for the PLCs that have not received the key code correctly until it can be determined that all the PLCs that have started up correctly have received the key code (see FIG. 16).
[0065]
Normally, even if a retry occurs, the notification to the PLC eventually succeeds. When it is determined that all the PLCs have correctly received the key code, the key code copied to the key code temporary storage unit in the key code generation unit 37 is sent to the key code storage unit 38 of the HMI and stored (see FIG. 6). If the notification is not successful more than the specified number of times, a warning is issued because a serious failure may have occurred in the system.
[0066]
The flowchart of the new key code distribution operation described above is the same as that of the first embodiment, and is as shown in FIG.
[0067]
(When the new key code is stored in PLC and HMI)
Next, communication between the PLC unit 10 and the HMI unit 30 after the delivery of the new key code will be described with reference to FIG. This stage corresponds to the new key code section in FIG.
[0068]
[Communication from PLC to HMI]
Communication from the PLC unit 10 to the HMI unit 30 will be described. Before the PLC unit 10 transmits a packet to the HMI unit 30, the key code storage unit 15 of the PLC writes a key code in the key code portion of the communication packet. The packet is transmitted from the transmission unit 13 to the HMI unit 30. The reception unit 31 receives the packet in the HMI unit 30, and the key code determination unit 35 from the PLC compares the packet with the key code storage unit 33 from the PLC. The key code part of the packet is determined.
[0069]
If the key code is positive, the communication packet is used by the application on the HMI as information from the PLC. This use is, for example, display of a plant state in a monitoring system.
[0070]
If the key code is not correct, the communication packet is discarded as a possibility of some abnormality, especially illegal intrusion by a third party, and an alarm is sent to a monitoring system (HMI).
[0071]
[Communication from HMI to PLC]
Communication from the HMI unit 30 to the PLC unit 10 will be described. Before the HMI unit 30 transmits a packet to the PLC unit 10, the key code storage unit 38 of the HMI writes a key code in the key code part of the communication packet. The packet is transmitted from the transmitting unit 34 to the PLC unit 10, and the receiving unit 14 receives the packet in the PLC unit 10. The key code determining unit 18 from the HMI compares the packet with the key code storage unit 19 from the HMI. The key code part of the packet is determined.
[0072]
If the key code is positive, the communication packet is used by the PLC application as information from the HMI. This use is, for example, on / off of an operation signal of a plant in a control system.
[0073]
If the key code is not correct, the communication packet is discarded because there is a possibility of something abnormal, especially illegal intrusion by a third party, and 1 is set to the alarm communication unit (ON = 1, OFF = 0) of another transmission packet. Then, the packet is transmitted to the HMI unit 30. The HMI unit refers to the alarm communication unit of the packet, and sends an alarm if it is 1. That is, as shown in FIG. 16, 1 is written in the alarm communication unit (ON = 1, OFF = 0) of the abnormality notification packet format, and transmitted from the transmission unit 13 to the HMI unit 30. This is received and a process of transmitting an alarm is performed.
[0074]
As described above, in the second embodiment, each PLC of the PLC unit and each HMI of the HMI unit respectively create a new key code and distribute the new key code to each HMI of the HMI unit and each PLC of the PLC unit. It has a configuration. Therefore, if a malicious third party intrudes into the system network and sends a packet that targets an abnormal malfunction that conforms to the format, the possibility of discarding the packet can be increased, and a simple configuration can be used. Security can be strengthened. In addition, for each packet transmitted by each PLC of the PLC unit and each HMI of the HMI unit, a key code created by the transmission source of each packet is used, so that it is possible to enhance security corresponding to each transmission source. it can.
[0075]
<Third embodiment>
Next, a third embodiment of the present invention will be described. This embodiment shows a specific example of communication schemes and communication packets in the first and second embodiments.
[0076]
The network 50 in FIG. 1 is a CSMA / CD system LAN (for example, Ethernet (registered trademark)).
[0077]
Then, the PLC unit 10 and the HMI unit 30 are respectively allocated to the multicast group.
[0078]
There are roughly three types of packets leaving the PLC unit 10. The size of the packet is, for example, about 700 WORD.
[0079]
FIG. 8 shows a schematic configuration of the packet format. In the figure, (a) shows a packet leaving the PLC, and (b) shows a packet leaving the HMI. As shown in the figure, each of the UDP and TCP / IP protocols has a specific protocol header area.
[0080]
The types of packets and their roles are as follows.
[0081]
(1) Normal data packet
(1-1) In the case of a packet leaving the PLC
The real analog data and the real digital data of the plant are transmitted to the HMI. The HMI refers to and monitors this data.
[0082]
(1-2) In the case of a packet leaving the HMI
The command value given to the plant is transmitted to the PLC. This includes analog set values and digital command values.
[0083]
(2) Packet for notifying the new key code to the HMI unit or another PLC
In the case of the first embodiment, this packet is transmitted from the PLC 1 to another PLC and the HMI.
[0084]
In the case of the second embodiment, this packet is transmitted from the PLC to the HMI and from the HMI to the PLC.
[0085]
(3) A packet notifying that the new key code has been successfully notified
In the case of the first embodiment, this packet is transmitted from another PLC and the HMI to the PLC 1.
[0086]
In the case of the second embodiment, this packet is transmitted from the PLC to the HMI and from the HMI to the PLC.
[0087]
The communication method in each protocol is as follows.
[0088]
(When the protocol is UDP)
The multicast group is divided into the PLC unit 10 and the HMI unit 30. By allocating a specific multicast address to the PLC unit 10 and the HMI unit 30 and communicating with the multicast address, the communication from the PLC unit 10 to the HMI unit 30 and the communication from the HMI unit 30 to the PLC unit 10 are broadcast.
[0089]
(When the protocol is TCP / IP)
There is no concept of broadcast communication, and a connection is made by making a connection between specific IP addresses.
[0090]
In the case of the first embodiment, a connection is sequentially created from the PLC 1 to another PLC by the HMI and transmitted and received, and each connection is created sequentially.
[0091]
In the case of the second embodiment, a connection is sequentially created from the PLC to the HMI and from the HMI to the PLC, and the packet is transmitted and received.
[0092]
<Fourth embodiment>
Next, a fourth embodiment of the present invention will be described. This embodiment shows a specific example of a setting function for setting a time interval (update interval) for generating a key code for discrimination in the first and second embodiments.
[0093]
FIG. 9 shows a screen for setting a time interval (update interval) for generating a key code for determination in this embodiment.
[0094]
Setting means for setting a time interval (update interval) for generating a key code for determination is provided in, for example, the HMI unit 30 or the PLC unit 10.
[0095]
On this screen, a time interval for generating a key code is specified, a time interval setting section 91 is provided so that an operator can confirm the time interval, and set dates and times are displayed in a list 92 so that an illegal intruder can be found.
[0096]
When the user presses [PLC] in the setting specifying section 93, the mode is set to the PLC setting mode. Specify the PLC to be set in [PLC number]. When [HMI] is pressed, an HMI setting mode is set. Specify the HMI to be set in [HMI number].
[0097]
When [Change PB] is pressed, the set time can be changed. The current key code is not changed until the setting is changed and [SET PB] is pressed. When [Setting PB] is pressed, the setting information is transmitted to the selected PLC or HMI, and the received PLC or HMI changes the setting value in FIG.
[0098]
<Fifth embodiment>
Next, a fifth embodiment of the present invention will be described. This embodiment shows a specific example of an alarm function for issuing an alarm when a packet having an incorrect key code comes in the first and second embodiments.
[0099]
The key code abnormality 100 is displayed on the alarm screen on the HMI shown in FIG. In some cases, the alarm is output by sound depending on the system. In this case, a sound notification is also issued.
[0100]
<Sixth embodiment>
Next, a monitoring control system according to a sixth embodiment of the present invention will be described. This embodiment is applied to a general industrial system, and FIG. 12 shows a monitoring and control system of a factory.
[0101]
In this system, control is performed by each PLC of the PLC unit, and PLC1 to PLCM are arranged everywhere. Each PLC is composed of a PLC main body that manages control information, an I / O unit that manages and normalizes input / output signals from a field instrument, and a field instrument. The central HMI unit 30-1 is arranged at the center of the factory, displays monitoring control information, and sends a control command from the HMI to the PLC. The HMI unit 30 and the PLC unit 10 are connected by a monitoring control LAN 50. The monitoring control LAN 50 is a CSMA / CD-type LAN (for example, Ethernet (registered trademark)). A part 30-2 (HMIN) of the HMI unit is installed in an office remote from the factory site, and information on the site can be viewed from the office. The HMIN is connected to an external network (Internet) 60 and is connected to a head office 70 and an in-house network 80. At this time, there is a possibility that an attack may be received from a malicious third party from the outside. Alternatively, a malicious insider could attack from inside.
[0102]
Each PLC of the PLC unit 10 has a unique PLC number. Further, each HMI of the HMI unit 30 has a unique HMI number.
[0103]
Next, the operation of this embodiment will be described.
[0104]
(When the PLC indicates a new key code to the HMI)
First, an operation in which the PLC distributes a new key code to the HMI will be described.
[0105]
As an example, a key code update interval setting screen 90 is provided on the HMIN, and from this screen 90, the update intervals of the key codes of PLC1 to PLCM and HMI1 to HMIN can be set. When changing, the target is selected with the PB (button) of [PLC] and [HMI] of the setting specifying unit 93, and [Change PB] is pressed to permit the change. For example, when setting the key code update interval for the PLC 1, a PLC number (= 1) is specified, and a numerical value is entered in the date, time, minute, and second of the time interval setting unit 91. For example, if day = 1 and hour / minute / second = 0, it means that the key code is updated every 24 hours a day. When the user presses [Setting PB] after inputting the numerical value, a setting packet is transmitted to the PLC 1 of the PLC unit as shown in FIG. This packet sets the key code update interval in the key code update interval storage unit 41 of the PLC of the PLC 1. The initial value of the key code update interval is 0:00:00, and after the key code update interval has elapsed, the key code generation unit generates a key code in accordance with an instruction from the key code instruction management unit 11.
[0106]
FIG. 14 shows a method of creating a key code. Generate an 8-digit random number. The random number takes a value from 1 to 8. As for the key code, the character strings 1 to 8 correspond to the random numbers 1 to 8, and the random numbers are generated at the timing of generating the key code. The character string is Unicode, and each character is 4 words per character.
[0107]
For example, when a random number of 87333542 is generated, “character string 8 + character string 6 + character string 7 + character string 3 + character string 3 + character string 5 + character string 4 + character string 2” is the key code.
[0108]
The key code generation unit copies the key code to a key code temporary storage unit in the key code generation unit. The key code generation unit writes the key code in the key code part of the packet format of the communication packet. In the data part of the packet format, there is a key code indicating part for recognizing that this packet is a key code instruction.
[0109]
The key code indicating section takes a value of 0/1 (0: off, 1: key code indicating). Only when the key code is instructed to the HMI unit 30, the key code indicating unit takes 1, and in other cases, it becomes 0.
[0110]
The packet is transmitted from the transmitting unit 13 to the HMI unit 30, and the HMI unit 30 receives the packet.
[0111]
If the key code indicator of the received packet is 1, the key code indicator determiner of the HMI unit 30 determines that a new key code has been sent, and stores it in the key code storage from the PLC. The key code storage unit from the PLC has a storage capacity capable of storing key codes for M PLCs.
[0112]
In the header of the packet, a PLC number is written so that it can be determined which PLC is the source (Source). With reference to the PLC number, the key code is stored in the key code storage unit from the corresponding PLC. As described above, the key code created by the PLC unit 10 is stored on the HMI unit 30 side.
[0113]
FIG. 15 shows the procedure of the above processing. That is, normally, the packet reception processing, the control processing, and the packet transmission processing are performed (steps S151, S152, and S156). However, when the condition of the key code change timing is satisfied, the key code creation and transmission processing are sequentially performed. (Step S153, Step S154, Step S155).
[0114]
The period from the transmission of the new key code report Ta to the reception of the new key code confirmation Tb in FIG. 4 until the confirmation of the reception of the key code is performed. In this period, the key code before the update is used. .
[0115]
To notify the PLC unit 10 that the key code has been correctly stored, the HMI unit 30 writes 1 in the key code confirmation unit of the packet. The key code checking unit takes a value of 0/1 / -1 (0: off, 1: normal storage, -1: abnormal). Also, the key code received from the PLC unit 10 this time is described in the key code portion of the confirmation packet format, and transmitted to the PLC unit 10. The PLC unit 10 determines whether each HMI has correctly received the key code from the key code confirmation unit, the key code unit, and the HMI number of the confirmation packet format received from the HMI unit 30.
[0116]
The same operation described above is repeated for HMIs that have not been correctly received until it can be determined that all the HMIs that are operating normally have received the key code correctly.
[0117]
Normally, even if a retry occurs, the notification to the HMI will eventually succeed. When it is determined that all the HMIs have correctly received the key code, the key code copied to the key code temporary storage unit in the key code generation unit is sent to the key code storage unit of the PLC and stored. If the notification is not successful more than the specified number of times, a warning is issued because a serious failure may have occurred in the system.
[0118]
(When the HMI indicates a new key code to the PLC)
Next, an operation in which the HMI distributes a new key code to the PLC will be described.
[0119]
As an example, a key code update interval setting screen 90 is provided on the HMIN, and key codes of PLC1 to PLCM and HMI1 to HMIN can be set from this screen 90. When changing, the user presses [change PB] in the setting designating section 93 to permit the change. For example, when the key code update interval is set for the HMI 1, the HMI number (= 1) is specified, and a numerical value is entered in the date / time / minute / second of the time interval setting unit 91. For example, if day = 1 and hour / minute / second = 0, it means that the key code is updated every 24 hours a day. When the user presses [Setting PB] after inputting the numerical value, a setting packet is transmitted to the HMI 1. This packet sets the key code update interval in the HMI 1 key code update interval storage unit. The initial value of the key code update interval is 0:00:00, and after the key code update interval has elapsed, the key code generation unit generates a key code according to an instruction from the key code instruction management unit. FIG. 14 shows a method of creating a key code. Generate an 8-digit random number. The random number takes a value from 1 to 8. As for the key code, the character strings 1 to 8 correspond to the random numbers 1 to 8, and the random numbers are generated at the timing of generating the key code. The character string is Unicode, and each character is 4 words per character.
[0120]
For example, if a random number of 54438217 is generated, “character string 5 + character string 4 + character string 4 + character string 3 + character string 8 + character string 2 + character string 1 + character string 7” is the key code.
[0121]
The timing of key code generation is the start of a new key code notification in FIG. At this timing, the key code generation unit generates a key code. The key code generation unit copies the key code to a key code primary storage unit in the key code generation unit. The key code generation unit writes the key code in the key code part of the packet format of the communication packet. In the data part of the packet format, there is a key code indicating part for recognizing that this packet is a key code instruction. The key code indicating section takes a value of 0/1 (0: off, 1: key code indicating). The key code indicating unit takes 1 only when instructing the key unit to the PLC unit 10, and becomes 0 in other cases.
[0122]
The packet is transmitted from the transmission unit to the PLC unit 10, and the PLC unit 10 receives the packet.
[0123]
If the key code indicator of the received packet is 1, the key code indicator determiner of the PLC unit 10 determines that a new key code has been sent, and stores it in the key code storage unit from the HMI. The key code storage unit from the HMI has a storage capacity capable of storing key codes for N HMIs.
[0124]
An HMI number is written in the header of the packet so that it can be determined which HMI is the source (Source). With reference to the HMI number, the key code is stored in the key code storage unit from the corresponding HMI. As described above, the key code created by the HMI unit 30 is stored on the PLC unit 10 side.
[0125]
To notify the HMI unit 30 that the key code has been correctly stored, the PLC unit 10 writes 1 in the key code confirmation unit of the packet. The key code checking unit takes a value of 0/1 / -1 (0: off, 1: normal storage, -1: abnormal). In addition, the key code received from the HMI unit 30 this time is described in the key code part of the confirmation packet format, and transmitted to the HMI unit 30. The HMI unit 30 determines whether each PLC has correctly received the key code from the key code confirmation unit, the key code unit, and the PLC number of the confirmation packet format received from the PLC unit 10.
[0126]
In the section from the new key code notification start Ta to the new key code confirmation reception Tb in FIG. 4, the key code before update is used.
[0127]
The same operation described above is repeated for the PLCs that have not received the key code correctly until it can be determined that all the PLCs that have started normally have correctly received the key code.
[0128]
Normally, even if a retry occurs, the notification to the PLC eventually succeeds. When it is determined that all the PLCs have correctly received the key code, the key code copied to the key code temporary storage unit in the key code generation unit is sent to the key code storage unit of the HMI and stored. If the notification does not succeed for more than the specified number of times, a serious failure may have occurred in the system, and a key code error 100 is transmitted as an alarm on the alarm screen of FIG.
[0129]
A flowchart of the above-described new key code distribution operation is as shown in FIG.
[0130]
(When the new key code is stored in PLC and HMI)
Next, communication between the PLC unit 10 and the HMI unit 30 after the delivery of the new key code will be described with reference to FIG. This stage corresponds to the new key code section in FIG.
[0131]
[Communication from PLC to HMI]
Communication from the PLC unit 10 to the HMI unit 30 will be described. Before the PLC unit 10 transmits a packet to the HMI unit 30, the key code storage unit 15 of the PLC writes a key code in the key code portion of the communication packet. The packet is transmitted from the transmission unit 13 to the HMI unit 30. The reception unit 31 receives the packet in the HMI unit 30, and the key code determination unit 35 from the PLC compares the packet with the key code storage unit 33 from the PLC. The key code part of the packet is determined.
[0132]
If the key code is positive, the communication packet is used by the application on the HMI as information from the PLC. This use is, for example, display of a plant state in a monitoring system.
[0133]
If the key code is not correct, the communication packet is discarded as a possibility of something abnormal, especially a third party illegal intrusion, and an alarm is sent to a monitoring system (HMI).
[0134]
[Communication from HMI to PLC]
Communication from the HMI unit 30 to the PLC unit 10 will be described. Before the HMI unit 30 transmits a packet to the PLC unit 10, the key code storage unit 38 of the HMI writes a key code in the key code part of the communication packet. The packet is transmitted from the transmitting unit 34 to the PLC unit 10, and the receiving unit 14 receives the packet in the PLC unit 10. The key code determining unit 18 from the HMI compares the packet with the key code storage unit 19 from the HMI. The key code part of the packet is determined.
[0135]
If the key code is positive, the communication packet is used by the PLC application as information from the HMI. This use is, for example, on / off of an operation signal of a plant in a control system.
[0136]
If the key code is not correct, the communication packet is discarded as there is a possibility of some kind of abnormality, especially illegal intrusion by a third party, and 1 is sent to the alarm communication unit (ON = 1, OFF = 0) of another transmission packet. Then, the packet is transmitted to the HMI unit 30. The HMI unit 30 refers to the alarm communication unit of the packet, and if it is 1, sends an alarm of the key code abnormality 100 to the alarm screen of FIG.
[0137]
Note that each of the above-described embodiments can be applied to and implemented in a monitoring control system for an industrial process, water supply and sewage, and the like.
[0138]
【The invention's effect】
According to the present invention, in a monitoring control system used in an industrial general plant and having at least one control device and at least one monitoring device, and performing communication between the control device and the monitoring device, the control device and the monitoring device The communication between the server and the server sends and receives data in packet units, but a malicious third party intruded into the network of this system and sent packets to cause the plant to malfunction abnormally according to the format. Even in that case, the possibility of discarding it is greatly increased.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of a monitoring control system according to first to fifth embodiments of the present invention.
FIG. 2 is an exemplary view for explaining an operation of new key code distribution according to the first embodiment of the present invention.
FIG. 3 is a diagram showing an example of a method of storing a time interval for generating a new key code in the first to sixth embodiments of the present invention.
FIG. 4 is a diagram showing a use period of a new key code in the first to sixth embodiments of the present invention.
FIG. 5 is a diagram for explaining a communication operation according to the first embodiment of the present invention.
FIG. 6 is an exemplary view for explaining an operation of new key code distribution according to the second embodiment of the present invention.
FIG. 7 is a diagram for explaining a communication operation according to the second and sixth embodiments of the present invention.
FIGS. 8A and 8B are diagrams illustrating a schematic configuration of a packet format according to a third embodiment of the present invention. FIG. 8A illustrates a format of a packet leaving a PLC, and FIG.
FIG. 9 is a diagram showing an example of a key code update interval setting screen according to a fourth embodiment of the present invention.
FIG. 10 is a diagram showing an example of an alarm screen according to a fifth embodiment of the present invention.
FIG. 11 is a flowchart showing an operation of new key code distribution in the first, second, and sixth embodiments of the present invention.
FIG. 12 is a diagram showing a schematic configuration of a monitoring control system according to a sixth embodiment of the present invention.
FIG. 13 is a view for explaining an operation of setting a key code update interval according to a sixth embodiment of the present invention.
FIG. 14 is a view for explaining a key code creation method according to a sixth embodiment of the present invention.
FIG. 15 is a flowchart illustrating an operation of a normal process of a PLC and a process of a key code process according to the sixth embodiment of the present invention.
FIG. 16 is a diagram for explaining an abnormal operation according to the second embodiment of the present invention.
[Explanation of symbols]
10 PLC part
30 ... HMI section
50 Network (monitoring control LAN)
11 ... Key code instruction management unit
12 key code generation unit
13, 24, 34 ... transmitting unit
14, 21, 31 ... receiving unit
15: Key code storage of PLC
16, 35 ... Key code judgment unit from PLC
22, 32... Key code indicating section determining section
17, 23, 33 ... key code storage unit from PLC
18 Key code judgment unit from HMI
19: Key code storage from HMI
41: PLC key code update interval storage unit
60: External network (Internet)
70… Head office
80… In-house network
90 ... Key code update interval setting screen
100 ... Key code error

Claims (4)

少なくとも1つの制御装置と少なくとも1つの監視装置を有し、制御装置と監視装置との間で通信を行う監視制御システムにおいて、少なくとも1つの制御装置または少なくとも1つの監視装置のうちの1つの装置に設けられ、キーコードを作成するキーコード作成手段と、このキーコード作成手段により作成されたキーコードを、キーコードを作成した装置以外の制御装置及び監視装置に送信する送信手段と、キーコードを作成した装置以外の制御装置及び監視装置に設けられ、前記送信手段により送信されたキーコードを受信する受信手段と、キーコードを作成した装置においては作成されたキーコードを、キーコードを作成した装置以外の制御装置及び監視装置においては受信されたキーコードをそれぞれ記憶する記憶手段と、前記制御装置及び前記監視装置のそれぞれに設けられ、通信パケットを送信する際に、通信パケットに、前記記憶手段に記憶されたキーコードを書き込み送信する手段と、前記制御装置及び前記監視装置のそれぞれに設けられ、通信パケットを受信した際に、通信パケットに書込まれているキーコードと前記記憶手段に記憶されたキーコードとを比較し、受信した通信パケットのキーコードが正しいかどうかを判定する判定手段と、この判定手段の判定結果により、キーコードが正しい場合には受信した通信パケットのデータを採用して処理を行い、正しくない場合には通信パケットのデータを破棄する処理手段とを備えたことを特徴とする監視制御システム。A monitoring and control system having at least one control device and at least one monitoring device and communicating between the control device and the monitoring device, wherein at least one control device or at least one monitoring device has at least one monitoring device. Key code creating means for creating a key code, transmitting means for sending the key code created by the key code creating means to a control device and a monitoring device other than the device that created the key code, A receiving unit provided in a control device and a monitoring device other than the created device, for receiving the key code transmitted by the transmitting unit, and in the device that created the key code, the created key code was created by the key code. In a control device and a monitoring device other than the device, storage means for storing the received key code, respectively, Means for providing a key code stored in the storage means in a communication packet when transmitting a communication packet, provided in each of the device and the monitoring device, and provided in each of the control device and the monitoring device. Receiving the communication packet, comparing the key code written in the communication packet with the key code stored in the storage means, and determining whether the key code of the received communication packet is correct. Means for performing processing by using the data of the received communication packet when the key code is correct according to the determination result of the determination means, and processing means for discarding the data of the communication packet when the key code is incorrect. A supervisory control system characterized by the above. 少なくとも1つの制御装置と少なくとも1つの監視装置を有し、制御装置と監視装置との間で通信を行う監視制御システムにおいて、少なくとも1つの制御装置及び少なくとも1つの監視装置のそれぞれの装置に設けられ、キーコードを作成するキーコード作成手段と、前記制御装置に設けられ、前記キーコード作成手段により作成されたキーコードを、前記監視装置に送信する送信手段と、前記監視装置に設けられ、前記制御装置の送信手段から送信されたキーコードを受信する受信手段と、前記監視装置に設けられ、前記キーコード作成手段により作成されたキーコードを、前記制御装置に送信する送信手段と、前記制御装置に設けられ、前記監視装置の送信手段から送信されたキーコードを受信する受信手段と、前記制御装置及び前記監視装置のそれぞれの装置に設けられ、作成したキーコードを記憶する第1の記憶手段と、前記制御装置及び前記監視装置のそれぞれの装置に設けられ、前記受信手段により受信されたキーコードをそれぞれ記憶する第2の記憶手段と、前記制御装置及び前記監視装置のそれぞれに設けられ、通信パケットを送信する際に、通信パケットに、前記第1の記憶手段に記憶されたキーコードを書き込み送信する手段と、前記制御装置及び前記監視装置のそれぞれに設けられ、通信パケットを受信した際に、通信パケットに書込まれているキーコードと前記第2の記憶手段に記憶されたキーコードとを比較し、受信した通信パケットのキーコードが正しいかどうかを判定する判定手段と、この判定手段の判定結果により、キーコードが正しい場合には受信した通信パケットのデータを採用して処理を行い、正しくない場合には通信パケットのデータを破棄する処理手段とを備えたことを特徴とする監視制御システム。In a monitoring control system having at least one control device and at least one monitoring device, and performing communication between the control device and the monitoring device, the monitoring control system is provided in each of the at least one control device and the at least one monitoring device. Key code creating means for creating a key code, provided in the control device, a key code created by the key code creating means, sending means for sending to the monitoring device, provided in the monitoring device, Receiving means for receiving the key code transmitted from the transmitting means of the control device; transmitting means provided in the monitoring device for transmitting the key code created by the key code creating means to the control device; Receiving means provided in the apparatus, for receiving the key code transmitted from the transmitting means of the monitoring device, the control device and the A first storage unit that is provided in each device of the viewing device and stores the created key code; and a key code that is provided in each of the control device and the monitoring device and received by the receiving unit. A second storage means for storing, and a key code stored in the first storage means, which is provided in each of the control device and the monitoring device and which transmits the communication packet when transmitting the communication packet, is transmitted. Means, provided in each of the control device and the monitoring device, for comparing a key code written in the communication packet with a key code stored in the second storage means when a communication packet is received. And determining means for determining whether the key code of the received communication packet is correct, and determining whether the key code is correct based on the determination result of the determining means. Supervisory control system performs employed to process the data received communication packet, if incorrect, characterized in that a discarding means the data communications packet. 請求項1または請求項2に記載の監視制御システムにおいて、前記キーコードを発生させる更新間隔を設定する設定手段を備え、前記キーコード作成手段は、前記設定手段により設定された更新間隔で、新キーコードを作成するものであることを特徴とする監視制御システム。3. The monitoring control system according to claim 1, further comprising: a setting unit configured to set an update interval for generating the key code, wherein the key code generation unit sets a new update interval at the update interval set by the setting unit. 4. A supervisory control system for creating a key code. 請求項1乃至請求項3のいずれかに記載の監視制御システムにおいて、前記処理手段は、前記判定手段の判定結果により、キーコードが正しくない場合には、通信パケットのデータを破棄するとともに、警報を発信するものであることを特徴とする監視装置。4. The monitoring control system according to claim 1, wherein the processing unit discards the data of the communication packet and outputs an alarm if the key code is incorrect according to the result of the determination by the determining unit. A monitoring device characterized by transmitting a message.
JP2002313675A 2002-10-29 2002-10-29 Supervision and control system Pending JP2004151807A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002313675A JP2004151807A (en) 2002-10-29 2002-10-29 Supervision and control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002313675A JP2004151807A (en) 2002-10-29 2002-10-29 Supervision and control system

Publications (1)

Publication Number Publication Date
JP2004151807A true JP2004151807A (en) 2004-05-27

Family

ID=32458205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002313675A Pending JP2004151807A (en) 2002-10-29 2002-10-29 Supervision and control system

Country Status (1)

Country Link
JP (1) JP2004151807A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260788A (en) * 2004-03-15 2005-09-22 Fuji Electric Holdings Co Ltd Common key updating method, communication method, and communication device
WO2008007434A1 (en) * 2006-07-13 2008-01-17 Mitsubishi Electric Corporation Facility management system, programmable controller, and concentration controller
JP2008186395A (en) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp Control system, control method, controller, and control program
US8170694B2 (en) 2005-11-14 2012-05-01 Mitsubishi Electric Corporation Network unit and programmable controller using the same
JP2012226508A (en) * 2011-04-19 2012-11-15 Internatl Business Mach Corp <Ibm> System to control communication among multiple industrial control systems
JP2014022978A (en) * 2012-07-19 2014-02-03 Toshiba Corp Data transmission system and controller device
JP2014531087A (en) * 2011-10-24 2014-11-20 シュネーデル、エレクトリック、インダストリーズ、エスアーエスSchneider Electric Industries Sas System and method for managing industrial processes
CN111882755A (en) * 2020-07-21 2020-11-03 浙江特勤卫星导航科技有限公司 Intelligent sewage receiving code scanning metering method and device based on Beidou system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005260788A (en) * 2004-03-15 2005-09-22 Fuji Electric Holdings Co Ltd Common key updating method, communication method, and communication device
US8170694B2 (en) 2005-11-14 2012-05-01 Mitsubishi Electric Corporation Network unit and programmable controller using the same
WO2008007434A1 (en) * 2006-07-13 2008-01-17 Mitsubishi Electric Corporation Facility management system, programmable controller, and concentration controller
JP5015153B2 (en) * 2006-07-13 2012-08-29 三菱電機株式会社 Equipment management system, programmable controller and centralized controller
US8311650B2 (en) 2006-07-13 2012-11-13 Mitsubishi Electric Corporation Equipment management system, programmable controller and centralized controller
JP2008186395A (en) * 2007-01-31 2008-08-14 Mitsubishi Electric Corp Control system, control method, controller, and control program
JP2012226508A (en) * 2011-04-19 2012-11-15 Internatl Business Mach Corp <Ibm> System to control communication among multiple industrial control systems
JP2014531087A (en) * 2011-10-24 2014-11-20 シュネーデル、エレクトリック、インダストリーズ、エスアーエスSchneider Electric Industries Sas System and method for managing industrial processes
JP2014022978A (en) * 2012-07-19 2014-02-03 Toshiba Corp Data transmission system and controller device
CN111882755A (en) * 2020-07-21 2020-11-03 浙江特勤卫星导航科技有限公司 Intelligent sewage receiving code scanning metering method and device based on Beidou system

Similar Documents

Publication Publication Date Title
US9521120B2 (en) Method for securely transmitting control data from a secure network
CN101631080B (en) Industrial Ethernet switch based on EPA protocol and message forwarding method
JP4586062B2 (en) Process plant configuration system
US20190289020A1 (en) Provision of secure communication in a communications network capable of operating in real time
Wendzel et al. Cyber security of smart buildings
WO2014155650A1 (en) Information controller, information control system, and information control method
JP2004151807A (en) Supervision and control system
EP2962289B1 (en) System and method for emergency communication in a tcp/ip based redundant fire panel network
EP2767057B1 (en) Process installation network intrusion detection and prevention
US20210075801A1 (en) Control Device and Control System
EP1479007B1 (en) System and method for authentication and fail-safe transmission of safety messages
US20190028270A1 (en) System and method for performing encryption between alarm panel and monitoring station
US10831166B2 (en) Hybrid network monitoring system
US20150340111A1 (en) Device for detecting unauthorized manipulations of the system state of an open-loop and closed-loop control unit and a nuclear plant having the device
JP2015200971A (en) Control system equipped with falsification detection function
JP2004129280A (en) Remote control system, control method and program thereof
WO2020184186A1 (en) Control device and control system
KR101584210B1 (en) System and method for monitoring MCU
CN111740954B (en) Elevator main controller and elevator board card communication encryption method
CN113169865A (en) Control device, industrial control system, and encryption key life prolonging method
EP2898633B1 (en) Wired data communications network
JP2021503191A (en) L2 switch for network security and remote monitoring control system using it
JP2006203696A (en) Registration server device and remote supervisory control system
JP4827716B2 (en) Monitoring device and monitoring program
DE102020004128A1 (en) Cryptographic method for secure and authorized login and authentication of devices in a network using secrets and by exchanging secret keys