(57)【要約】【課題】セキュリティ機能の健全性を容易に確認できる制御装置を提供すること。【解決手段】実施形態の制御装置において、診断部は、記憶部に記憶されているフレームの受信数が受信数設定部によって受信数閾値未満の第１の数に設定された場合に、転送停止制御部が転送停止信号を出力しなかったことを正常と判定する。また、診断部は、記憶部に記憶されているフレームの受信数が受信数設定部によって受信数閾値以上の第２の数に設定された場合に、転送停止制御部が転送停止信号を出力したことを正常と判定する。診断部は、これらの処理によりセキュリティ機能を診断する。【選択図】図１
2019012953.tif 000002
【特許請求の範囲】
【請求項１】
被制御装置を制御する制御部と、
ネットワークから通信のフレームを受信する受信部、および、前記受信部が受信したフレームを前記制御部に転送する転送部を備える通信インタフェース部と、
所定の受信数閾値、および、単位時間ごとのフレームの受信数を記憶する記憶部と、
前記受信部によって前記フレームが受信されたことを検知し、前記記憶部に記憶されている受信数を更新する受信検知部と、
前記記憶部に記憶されている受信数が前記記憶部に記憶されている受信数閾値以上になったとき、前記転送部に転送停止信号を送信して前記ネットワークから受信したフレームの前記制御部への転送を停止させる転送停止制御部と、
前記記憶部に記憶されている受信数を、前記受信数閾値未満の第１の数、および、前記受信数閾値以上の第２の数を含む任意の数に設定可能な受信数設定部と、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第１の数に設定された場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定し、かつ、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第２の数に設定された場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定することによって、セキュリティ機能を診断する診断部と、を備える制御装置。
【請求項２】
前記診断部は、起動時に、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第１の数に設定された場合に、前記転送停止制御部が前記転送部に転送停止信号を送信しなかったことを正常と判定し、かつ、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第２の数に設定された場合に、前記転送停止制御部が前記転送部に転送停止信号を送信して前記ネットワークから受信したフレームの前記制御部への転送を停止させたことを正常と判定することによって、セキュリティ機能を診断する、請求項１に記載の制御装置。
【請求項３】
前記制御装置は、所定のタイミングで、通常モードから、前記制御装置のセキュリティ機能を診断する診断モードに切り替えるモード切替部を、さらに備え、
前記診断部は、前記モード切替部によって前記通常モードから前記診断モードに切り替えられたときに、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第１の数に設定された場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定し、かつ、
前記記憶部に記憶されている受信数が前記受信数設定部によって前記第２の数に設定された場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定することによって、セキュリティ機能を診断する、請求項１に記載の制御装置。
【請求項４】
被制御装置を制御する制御部と、
ネットワークから通信のフレームを受信する受信部、および、前記受信部が受信したフレームを前記制御部に転送する転送部を備える通信インタフェース部と、
所定の受信数閾値、および、単位時間ごとのフレームの受信数を記憶する記憶部と、
前記受信部によって前記フレームが受信されたことを検知し、前記記憶部に記憶されている受信数を更新する受信検知部と、
前記記憶部に記憶されている受信数が前記記憶部に記憶されている受信数閾値以上になったとき、前記転送部に転送停止信号を送信して前記ネットワークから受信したフレームの前記制御部への転送を停止させる転送停止制御部と、
上位装置から診断用に送信されてきた前記受信数閾値未満の第１の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定し、かつ、
前記上位装置から診断用に送信されてきた前記受信数閾値以上の第２の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定することによって、セキュリティ機能を診断する診断部と、を備える制御装置。
【請求項５】
前記診断部は、起動時に、
前記上位装置から診断用に送信されてきた前記受信数閾値未満の第１の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定し、かつ、
前記上位装置から診断用に送信されてきた前記受信数閾値以上の第２の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定することによって、セキュリティ機能を診断する、請求項４に記載の制御装置。
【請求項６】
前記制御装置は、所定のタイミングで、通常モードから、前記制御装置のセキュリティ機能を診断する診断モードに切り替えるモード切替部を、さらに備え、
前記診断部は、前記モード切替部によって前記通常モードから前記診断モードに切り替えられたときに、
前記上位装置から診断用に送信されてきた前記受信数閾値未満の第１の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定し、かつ、
前記上位装置から診断用に送信されてきた前記受信数閾値以上の第２の数のフレームを前記受信部によって受信した場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定することによって、セキュリティ機能を診断する、請求項４に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、制御装置に関する。
【背景技術】
【０００２】
従来から、プラント等を制御する制御システムは、社会基盤、産業基盤を支えるために２４時間３６５日の連続運転が可能であることが最重要要件とされている。このような制御システムは、悪意ある第三者からの攻撃等により稼働が阻害された場合、社会的な影響が非常に大きい。従来の制御システムはクローズドシステムで構成され、ネットワーク（外部ネットワーク／ローカルネットワーク）と接続されていないため、悪意ある第三者からの攻撃等の脅威は殆ど意識されてこなかった。
【０００３】
ネットワークを介した攻撃の観点で、セキュリティに関する代表的な攻撃手法として、フレーム（パケット）を攻撃対象に大量に送信し、通信障害を生じさせるＤｏＳ（Denial  of  Service）攻撃と呼ばれる攻撃手法が存在する。
【０００４】
このＤｏＳ攻撃への対策としては、例えば、次のような手法がある。制御システムにおける制御装置は、単位時間ごとにネットワークから受信したフレームの数を監視し、その数が閾値以上になった場合には、ＤｏＳ攻撃を受けていると判断して、ネットワークからフレームを受信しても内部に取り込まないようにする。その後、制御装置は、引き続き、単位時間ごとにネットワークから受信したフレームの数を監視し、その数が閾値未満になった場合に、ＤｏＳ攻撃が収束したと判断して、ネットワークから受信したフレームを内部に取り込むようにする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２５２６５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、制御装置は、ソフトウェア更新や、部品の経年劣化等による損傷等により、ＤｏＳ攻撃対策等のセキュリティ機能が正常に動作しない可能性がある。そして、従来技術では、制御装置におけるそのようなセキュリティ機能の健全性を容易に確認できる手法が無かった。
【０００７】
そこで、本実施形態の課題は、セキュリティ機能の健全性を容易に確認できる制御装置を提供することである。
【課題を解決するための手段】
【０００８】
実施形態の制御装置は、被制御装置を制御する制御部と、ネットワークから通信のフレームを受信する受信部、および、前記受信部が受信したフレームを前記制御部に転送する転送部を備える通信インタフェース部と、所定の受信数閾値、および、単位時間ごとのフレームの受信数を記憶する記憶部と、前記受信部によって前記フレームが受信されたことを検知し、前記記憶部に記憶されている受信数を更新する受信検知部と、前記記憶部に記憶されている受信数が前記記憶部に記憶されている受信数閾値以上になったとき、前記転送部に転送停止信号を送信して前記ネットワークから受信したフレームの前記制御部への転送を停止させる転送停止制御部と、前記記憶部に記憶されている受信数を、前記受信数閾値未満の第１の数、および、前記受信数閾値以上の第２の数を含む任意の数に設定可能な受信数設定部と、診断部と、を備える。診断部は、前記記憶部に記憶されている受信数が前記受信数設定部によって前記第１の数に設定された場合に、前記転送停止制御部が転送停止信号を出力しなかったことを正常と判定する。また、診断部は、前記記憶部に記憶されている受信数が前記受信数設定部によって前記第２の数に設定された場合に、前記転送停止制御部が転送停止信号を出力したことを正常と判定する。診断部は、これらの処理によりセキュリティ機能を診断する。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態の制御装置等の構成図である。
【図２】図２は、第１の実施形態の制御装置による通常モードでの処理を示すフローチャートである。
【図３】図３は、第１の実施形態の制御装置による通常モードでのフレーム受信数と転送停止の期間との関係を示すグラフである。
【図４】図４は、第１の実施形態の制御装置による起動時診断処理を示すフローチャートである。
【図５】図５は、第２の実施形態の制御装置等の構成図である。
【図６】図６は、第２の実施形態の制御装置による定周期診断処理を示すフローチャートである。
【図７】図７は、第３の実施形態の制御装置、上位装置等の構成図である。
【図８】図８は、第３の実施形態の制御装置による第１の定周期診断処理を示すフローチャートである。
【図９】図９は、第３の実施形態の制御装置による第２の定周期診断処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付の図面を参照して、第１〜第３の実施形態の制御装置について説明する。なお、第２の実施形態以降において、それまでの実施形態と重複する説明は、適宜省略する。
【００１１】
＜第１の実施形態＞
まず、図１を参照して、第１の実施形態の制御装置１等の構成について説明する。図１は、第１の実施形態の制御装置１等の構成図である。
【００１２】
制御装置１は、例えば、ＰＬＣ（Programmable  Logic  Controller）などの制御用コントローラである。制御装置１は、ネットワーク１０２（外部ネットワーク／ローカルネットワーク）を介して上位装置１０１と接続されている。ネットワーク１０２は、例えば、イーサネット(Ethernet)（登録商標）等であるが、これに限定されず、各種の有線、無線の通信ネットワークによって実現できる。また、制御装置１は、制御対象の被制御装置１０３（例えばアクチュエータ等）とイーサネット等の通信路によって接続されている。
【００１３】
近年、制御装置１に対するネットワーク１０２を介したセキュリティ攻撃手法が日々進化しているため、制御装置１は脆弱性対策のためのソフトウェアの定期的な更新が必要になっている。そのため、例えば、制御装置１は、プログラム更新後に既存のセキュリティ機能が阻害されてしまい、実際にセキュリティ攻撃を受けた際にそのセキュリティ機能が動作しない可能性がある。また、制御装置１のセキュリティ機能は、例えば、制御装置１における部品の経年劣化等による損傷等によって阻害されることもある。そこで、以下では、セキュリティ機能の健全性を容易に確認できる制御装置１について説明する。
【００１４】
制御装置１は、通信インタフェース部２、記憶部３、処理部４、入出力部５、および、表示部６を備える。
【００１５】
通信インタフェース部２は、ネットワーク１０２から通信のフレーム（パケット）を受信する受信部２１、および、受信部２１が受信したフレームを制御部４１に転送する転送部２２を備える。
【００１６】
記憶部３は、例えば、ＲＯＭ（Read  Only  Memory）、ＳＳＤ（Solid  State  Drive）、ＨＤＤ（Hard  Disk  Drive）等により実現される記憶手段である。記憶部３は、処理部４の動作プログラムのほか、単位時間ごとのフレームの受信数（以下、単に「受信数」ともいう。）、所定の受信数閾値、および、診断部４２５による診断結果等を記憶する。
【００１７】
処理部４は、例えば、ＣＰＵ（Central  Processing  Unit）とＲＡＭ（Random  Access  Memory）により実現される処理手段である。処理部４は、機能部として、制御部４１、および、セキュリティ診断部４２を備える。
【００１８】
制御部４１は、各種処理によって得た信号（制御指令値等）を被制御装置１０３に送信したり、被制御装置１０３からの信号を受信したりして、被制御装置１０３を制御する。
【００１９】
セキュリティ診断部４２は、機能部として、受信検知部４２１、判定部４２２、転送停止制御部４２３、受信数設定部４２４、および、診断部４２５を備える。なお、処理部４における各機能部は、同一のハードウェア部品上に構成されてもよいし、別々のハードウェア部品上に構成されてもよい。
【００２０】
受信検知部４２１は、受信部２１によってネットワーク１０２からのフレームが受信されたことを検知し、検知するごとに記憶部３に記憶されている受信数を更新（インクリメント（１増加））する。
【００２１】
判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上か否かを判定する。
【００２２】
転送停止制御部４２３は、判定部４２２によって受信数が受信数閾値以上になったと判定されたとき、転送部２２に転送停止信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を停止させる。また、その後、転送停止制御部４２３は、判定部４２２によって受信数が受信数閾値未満になったと判定されたとき、転送部２２に転送開始信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を開始（再開）させる。
【００２３】
受信数設定部４２４は、記憶部３に記憶されている受信数を、受信数閾値未満の第１の数（例えば、受信数閾値よりも１小さい数）、および、受信数閾値以上の第２の数（例えば、受信数閾値の数）を含む任意の数に設定可能である。例えば、受信数設定部４２４は、記憶部３のメモリやレジスタを書き換えることで当該受信数設定を実行する。なお、受信数閾値が「１５００（フレーム／秒）」であるとすると、例えば、第１の数は「１４９９」で、第２の数は「１５００」である。
【００２４】
診断部４２５は、記憶部３に記憶されている受信数が受信数設定部４２４によって第１の数に設定された場合に、転送停止制御部４２３が転送停止信号を出力しなかったことを正常と判定する。また、診断部４２５は、記憶部３に記憶されている受信数が受信数設定部４２４によって第２の数に設定された場合に、転送停止制御部４２３が転送停止信号を出力したことを正常と判定する。その際、例えば、診断部４２５は、記憶部３に記憶されている受信数が受信数設定部４２４によって第２の数に設定された場合に、転送停止制御部４２３が転送部２２に転送停止信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を停止させたことを正常と判定する。診断部４２５は、これらの処理によって制御装置１を診断する。診断のタイミングは、この第１の実施形態では、制御装置１の起動時である。
【００２５】
入出力部５は、制御部４１と被制御装置１０３の間での信号の送受信を中継する手段である。表示部６は、診断結果等の各種情報を表示する手段である。
【００２６】
次に、図２を参照して、第１の実施形態の制御装置１による通常モードでの処理について説明する。図２は、第１の実施形態の制御装置１による通常モードでの処理を示すフローチャートである。
【００２７】
ここで、制御装置１の動作モードには、通常モードと診断モードの２つがある。通常モードとは、制御装置１が被制御装置１０３を制御するモードである。診断モードとは、制御装置１のセキュリティ機能を診断（健全性の確認）するモードである。
【００２８】
ステップＳ１０１において、判定部４２２は、判定タイミング（例えば１秒〜数秒おき）が来たか否かを判定し、Ｙｅｓの場合はステップＳ１０４に進み、Ｎｏの場合はステップＳ１０２に進む。
【００２９】
ステップＳ１０２において、受信検知部４２１は、ネットワーク１０２からのフレームを受信部２１によって受信したか否かを検知し、Ｙｅｓの場合はステップＳ１０３に進み、Ｎｏの場合はステップＳ１０１に戻る。
【００３０】
ステップＳ１０３において、受信検知部４２１は、記憶部３に記憶されている受信数をインクリメント（１増加）し、ステップＳ１０１に戻る。
【００３１】
ステップＳ１０４において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ１０５に進み、Ｎｏの場合はステップＳ１０７に進む。
【００３２】
ステップＳ１０５において、転送停止制御部４２３は、転送部２２が転送停止中（受信部２１が受信したフレームを制御部４１に転送することを停止中）であるか否かを判定し、Ｙｅｓの場合はステップＳ１０９に進み、Ｎｏの場合はステップＳ１０６に進む。
【００３３】
ステップＳ１０６において、転送停止制御部４２３は、転送部２２に転送停止信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を停止させる。ステップＳ１０６の後、ステップＳ１０９に進む。
【００３４】
ステップＳ１０７において、転送停止制御部４２３は、転送部２２が転送停止中であるか否かを判定し、Ｙｅｓの場合はステップＳ１０８に進み、Ｎｏの場合はステップＳ１０９に進む。
【００３５】
ステップＳ１０８において、転送停止制御部４２３は、転送部２２に転送開始信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を開始（再開）させる。ステップＳ１０８の後、ステップＳ１０９に進む。
【００３６】
ステップＳ１０９において、受信数設定部４２４は、記憶部３に記憶されている受信数を「０」にリセットし、ステップＳ１０１に戻る。
【００３７】
このようにして、制御装置１は、通常モードにおいて、ＤｏＳ攻撃を受ける等により受信数が受信数閾値以上となった場合、受信部２１で受信したフレームを転送部２２から制御部４１に転送しないようにすることで、制御部４１の高負荷状態を回避することができる。
【００３８】
ここで、図３は、第１の実施形態の制御装置１による通常モードでのフレーム受信数と転送停止の期間との関係を示すグラフである。図３に示すように、時刻ｔ１以前では、受信数ｎ（フレーム／秒）が受信数閾値ｎｔｈ未満であるので、転送部２２から制御部４１へのフレームの転送は停止されていない。
【００３９】
そして、時刻ｔ１で受信数ｎが受信数閾値ｎｔｈ以上になると、転送部２２から制御部４１へのフレームの転送は停止される。その転送停止は、受信数ｎが受信数閾値ｎｔｈ未満になる時刻ｔ２まで継続される。時刻ｔ２で受信数ｎが受信数閾値ｎｔｈ未満になると、転送部２２から制御部４１へのフレームの転送が開始（再開）される。
【００４０】
なお、受信部２１で受信したフレームを転送部２２から制御部４１に転送しないようにする手法としては、転送部２２と制御部４１との通信を切断してもよいし、また、ＤｏＳ攻撃を受けている対象の受信ポートを閉じてもよいし、あるいは、その他の方法であってもよい。
【００４１】
次に、図４を参照して、第１の実施形態の制御装置１による起動時診断処理について説明する。図４は、第１の実施形態の制御装置１による起動時診断処理を示すフローチャートである。
【００４２】
制御装置１の電源がＯＮされると、ステップＳ２０１において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを、第１の数である「ｎｔｈ−１」に設定する。
【００４３】
次に、ステップＳ２０２において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ２０３に進み、Ｎｏの場合はステップＳ２０４に進む。
【００４４】
ステップＳ２０３において、転送停止制御部４２３は、転送部２２に転送停止信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を停止させる。
【００４５】
ここで、制御装置１が正常であれば、ステップＳ２０２でＮｏに進む。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ２０２でＹｅｓに進み、ステップＳ２０３が実行される場合がある。
【００４６】
ステップＳ２０４において、診断部４２５は、転送部２２によるフレーム転送が停止されたか否かを判定し、Ｙｅｓの場合はステップＳ２０９に進み、Ｎｏの場合はステップＳ２０５に進む。なお、このステップＳ２０４での判定は、診断部４２５が転送部２２の状態を認識することで行ってもよいし、あるいは、ステップＳ２０３において転送停止制御部４２３が転送部２２だけでなく診断部４２５にも転送停止信号を送信することで行ってもよい。
【００４７】
ステップＳ２０５において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを、第２の数である「ｎｔｈ」に設定する。
【００４８】
次に、ステップＳ２０６において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ２０７に進み、Ｎｏの場合はステップＳ２０８に進む。
【００４９】
ステップＳ２０７において、転送停止制御部４２３は、転送部２２に転送停止信号を送信してネットワーク１０２から受信したフレームの制御部４１への転送を停止させる。
【００５０】
ここで、制御装置１が正常であれば、ステップＳ２０６でＹｅｓに進み、ステップＳ２０７が実行される。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ２０６でＮｏに進む場合がある。
【００５１】
ステップＳ２０８において、診断部４２５は、転送部２２によるフレーム転送が停止されたか否かを判定し、Ｙｅｓの場合はステップＳ２１０に進み、Ｎｏの場合はステップＳ２０９に進む。
【００５２】
ステップＳ２０９において、診断部４２５は、エラーを通知する。具体的には、例えば、診断部４２５は、エラーであることを表示部６（ＬＥＤ（Light  Emitting  Diode）等）に表示する。これにより、ユーザは、表示部６を見て、エラーを知ることができる。また、診断部４２５は、上位装置１０１にエラーフレームを送信することでエラーを通知してもよい。ステップＳ２０９の後、診断部４２５は、記憶部３に診断結果が異常であったことを記憶し、処理を終了する。
【００５３】
ステップＳ２１０において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【００５４】
次に、ステップＳ２１１において、診断部４２５は、通常モードに移行する。また、診断部４２５は、記憶部３に診断結果が正常であったことを記憶する。
【００５５】
このようにして、第１の実施形態の制御装置１によれば、起動時に図４の処理を行って、記憶部３に記憶されている受信数を第１の数と第２の数にそれぞれ書き換えて転送部２２による転送停止の有無を判定することで、セキュリティ機能の健全性を容易に確認できる。
【００５６】
＜第２の実施形態＞
次に、第２の実施形態について説明する。図５は、第２の実施形態の制御装置１等の構成図である。図５の制御装置１は、図１の制御装置１と比較して、処理部４のセキュリティ診断部４２にモード切替部４２６が備えられている点で相違する。
【００５７】
モード切替部４２６は、所定のタイミングで通常モードから診断モードに切り替える。所定のタイミングとは、例えば、毎日０時等の時刻によって設定されるものであってもよいし、あるいは、数時間ごと等の周期によって設定されるものであってもよい。また、モード切替部４２６は、診断モードが終了した場合に通常モードに切り替える。
【００５８】
次に、図６を参照して、第２の実施形態の制御装置１による定周期診断処理について説明する。図６は、第２の実施形態の制御装置１による定周期診断処理を示すフローチャートである。この定周期診断処理は、制御装置１の通常モードの最中に実行される。
【００５９】
まず、ステップＳ３０１において、制御装置１が通常モード（図２の処理）で動作しているものとする。
【００６０】
次に、ステップＳ３０２において、モード切替部４２６は、診断モードへの移行タイミングが来たか、つまり、所定のタイミングとなったか否かを判定し、Ｙｅｓの場合はステップＳ３０２に進み、Ｎｏの場合はステップＳ３０１に戻る。
【００６１】
ステップＳ３０３において、モード切替部４２６は、通常モードから診断モードに移行する。
【００６２】
次に、ステップＳ３０４において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを、第１の数である「ｎｔｈ−１」に設定する。
【００６３】
次に、ステップＳ３０５において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ３０６に進み、Ｎｏの場合はステップＳ３０７に進む。
【００６４】
ステップＳ３０６において、転送停止制御部４２３は、図４のステップＳ２０３と異なり、転送停止信号を、転送部２２に送信せず、診断部４２５だけに出力する。これは、制御装置１が被制御装置１０３の制御を実行している最中であるので、転送停止信号を転送部２２に送信してその制御を阻害してしまう事態を回避するためである。
【００６５】
ここで、制御装置１が正常であれば、ステップＳ３０５でＮｏに進む。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ３０５でＹｅｓに進み、ステップＳ３０６が実行される場合がある。
【００６６】
ステップＳ３０７において、診断部４２５は、転送部２２から転送停止信号が出力されたか否かを判定し、Ｙｅｓの場合はステップＳ３１２に進み、Ｎｏの場合はステップＳ３０８に進む。
【００６７】
ステップＳ３０８において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを、第２の数である「ｎｔｈ」に設定する。
【００６８】
次に、ステップＳ３０９において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ３１０に進み、Ｎｏの場合はステップＳ３１１に進む。
【００６９】
ステップＳ３１０において、転送停止制御部４２３は、図４のステップＳ２０７と異なり、転送停止信号を、転送部２２に送信せず、診断部４２５だけに出力する。
【００７０】
ここで、制御装置１が正常であれば、ステップＳ３０９でＹｅｓに進み、ステップＳ３１０が実行される。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ３０９でＮｏに進む場合がある。
【００７１】
ステップＳ３１１において、診断部４２５は、転送部２２から転送停止信号が出力されたか否かを判定し、Ｙｅｓの場合はステップＳ３１３に進み、Ｎｏの場合はステップＳ３１２に進む。
【００７２】
ステップＳ３１２において、診断部４２５は、エラーを通知する。ステップＳ３１２の後、診断部４２５は、記憶部３に診断結果が異常であったことを記憶し、処理を終了する。
【００７３】
ステップＳ３１３において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【００７４】
次に、ステップＳ３１４において、診断部４２５は、通常モードに移行する。また、診断部４２５は、記憶部３に診断結果が正常であったことを記憶する。
【００７５】
このようにして、第２の実施形態の制御装置１によれば、図６の処理を行って、通常モードから診断モードに移行して、記憶部３に記憶されている受信数を第１の数と第２の数にそれぞれ書き換えて転送部２２からの転送停止信号の出力の有無を判定することで、セキュリティ機能の健全性を容易に確認できる。つまり、制御装置１が被制御装置１０３を制御している間でもセキュリティ機能の診断が可能となる。
【００７６】
＜第３の実施形態＞
次に、第３の実施形態について説明する。図７は、第３の実施形態の制御装置１、上位装置１０１等の構成図である。図７は、図５と比較して、上位装置１０１の内部構成を示している点で相違する。
【００７７】
上位装置１０１は、ＨＭＩ（Human  Machine  Interface）装置等のコンピュータ装置であり、通信インタフェース部１１１、記憶部１１２、処理部１１３、入力部１１４、および、表示部１１５を備える。
【００７８】
通信インタフェース部１１１は、制御装置１等とネットワーク１０２を介してフレームを送受信するための通信インタフェースである。
【００７９】
記憶部１１２は、例えば、ＲＯＭ、ＳＳＤ、ＨＤＤ等により実現される記憶手段である。記憶部１１２は、処理部１１３の動作プログラムのほか、制御装置１の記憶部３に記憶されている受信数閾値と同じ受信数閾値等を記憶する。
【００８０】
処理部１１３は、例えば、ＣＰＵとＲＡＭにより実現される処理手段である。処理部１１３は、機能部として、制御部１１３１、および、モード切替部１１３２を備える。なお、処理部１１３における各機能部は、同一のハードウェア部品上に構成されてもよいし、別々のハードウェア部品上に構成されてもよい。
【００８１】
制御部１１３１は、制御装置１を制御する。モード切替部１１３２は、制御装置１からの指示により、制御装置１が通常モードと診断モードを切り替えたことを認識する。
【００８２】
入力部１１４は、ユーザによる情報入力手段であり、例えば、キーボードやマウスである。表示部１１５は、制御装置１の診断結果等の各種情報を表示する手段である。
【００８３】
また、制御装置１の処理部４のセキュリティ診断部４２における診断部４２５は、上位装置１０１から診断用に送信されてきた受信数閾値未満の第１の数のフレームを受信部２１によって受信した場合に、転送停止制御部４２３が転送停止信号を出力しなかったことを正常と判定する。
【００８４】
また、診断部４２５は、上位装置１０１から診断用に送信されてきた受信数閾値以上の第２の数のフレームを受信部２１によって受信した場合に、転送停止制御部４２３が転送停止信号を出力したことを正常と判定する。診断部４２５は、これらの処理によって制御装置１を診断する。
【００８５】
次に、図８を参照して、第３の実施形態の制御装置１による第１の定周期診断処理について説明する。図８は、第３の実施形態の制御装置１による第１の定周期診断処理を示すフローチャートである。この第１の定周期診断処理は、制御装置１の通常モードの最中に実行される。
【００８６】
まず、ステップＳ４０１において、制御装置１が通常モード（図２の処理）で動作しているものとする。
【００８７】
次に、ステップＳ４０２において、制御装置１のモード切替部４２６は、診断モードへの移行タイミングが来たか、つまり、所定のタイミングとなったか否かを判定し、Ｙｅｓの場合はステップＳ４０３に進み、Ｎｏの場合はステップＳ４０１に戻る。
【００８８】
ステップＳ４０３において、制御装置１のモード切替部４２６は、通常モードから診断モードに移行し、この移行を上位装置１０１に通知する。
【００８９】
次に、ステップＳ４０４において、制御装置１の受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【００９０】
次に、ステップＳ４０５において、上位装置１０１のモード切替部１１３２は、ステップＳ４０３の通知を受けて、制御装置１が通常モードから診断モードに移行したことを認識する。
【００９１】
次に、ステップＳ４０６において、上位装置１０１の制御部１１３１は、第１の数である「ｎｔｈ−１」個のフレームを制御装置１に送信する。
【００９２】
次に、ステップＳ４０７において、制御装置１の受信検知部４２１は、「ｎｔｈ−１」個のフレームを受信したことによって、記憶部３に記憶されている受信数を更新する。
【００９３】
次に、ステップＳ４０８において、制御装置１の判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ４０９に進み、Ｎｏの場合はステップＳ４１０に進む。
【００９４】
ステップＳ４０９において、転送停止制御部４２３は、転送停止信号を、転送部２２に送信せず、診断部４２５だけに出力する。ここで、制御装置１が正常であれば、ステップＳ４０８でＮｏに進む。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ４０８でＹｅｓに進み、ステップＳ４０９が実行される場合がある。
【００９５】
ステップＳ４１０において、診断部４２５は、転送部２２から転送停止信号が出力されたか否かを判定し、Ｙｅｓの場合はステップＳ４１８に進み、Ｎｏの場合はステップＳ４１１に進む。
【００９６】
ステップＳ４１１において、受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【００９７】
次に、ステップＳ４１２において、制御装置１の診断部４２５は、次のフレーム送信を上位装置１０１に指示する。
【００９８】
これを受けて、ステップＳ４１３において、上位装置１０１の制御部１１３１は、第２の数である「ｎｔｈ」個のフレームを制御装置１に送信する。
【００９９】
次に、ステップＳ４１４において、制御装置１の受信検知部４２１は、「ｎｔｈ」個のフレームを受信したことによって、記憶部３に記憶されている受信数を更新する。
【０１００】
次に、ステップＳ４１５において、判定部４２２は、記憶部３に記憶されている受信数が記憶部３に記憶されている受信数閾値以上であるか否かを判定し、Ｙｅｓの場合はステップＳ４１６に進み、Ｎｏの場合はステップＳ４１７に進む。
【０１０１】
ステップＳ４１６において、転送停止制御部４２３は、転送停止信号を、転送部２２に送信せず、診断部４２５だけに出力する。ここで、制御装置１が正常であれば、ステップＳ４１５でＹｅｓに進み、ステップＳ４１６が実行される。一方、制御装置１がプログラム更新や部品の経年劣化等による損傷等によって異常であると、ステップＳ４１５でＮｏに進む場合がある。
【０１０２】
ステップＳ４１７において、制御装置１の診断部４２５は、転送部２２から転送停止信号が出力されたか否かを判定し、Ｙｅｓの場合はステップＳ４１９に進み、Ｎｏの場合はステップＳ４１８に進む。
【０１０３】
ステップＳ４１８において、制御装置１の診断部４２５は、エラーを通知する。ステップＳ４１８の後、制御装置１の診断部４２５は、記憶部３に診断結果が異常であったことを記憶し、処理を終了する。
【０１０４】
ステップＳ４１９において、制御装置１の受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【０１０５】
次に、ステップＳ４２０において、制御装置１のモード切替部４２６は、診断モードから通常モードに移行し、この移行を上位装置１０１に通知する。また、制御装置１の診断部４２５は、記憶部３に診断結果が正常であったことを記憶する。
【０１０６】
次に、ステップＳ４２１において、上位装置１０１のモード切替部１１３２は、ステップＳ４２０の通知を受けて、制御装置１が診断モードから通常モードに移行したことを認識する。
【０１０７】
このようにして、第３の実施形態の制御装置１の第１の定周期診断処理によれば、診断モードにおいて、記憶部３に記憶されている受信数を第１の数と第２の数にそれぞれ書き換えるのではなく、実際に上位装置１０１から第１の数のフレームと第２の数のフレームを受信することで診断を行うことで、より高信頼度の診断を行うことができる。
【０１０８】
次に、図９を参照して、第３の実施形態の制御装置１による第２の定周期診断処理について説明する。図９は、第３の実施形態の制御装置１による第２の定周期診断処理を示すフローチャートである。この第２の定周期診断処理は、第１の定周期診断処理と比較して、上位装置１０１のユーザが所望のタイミングで制御装置１の診断を実行できる点で相違する。
【０１０９】
まず、ステップＳ５０１において、制御装置１が通常モード（図２の処理）で動作しているものとする。
【０１１０】
次に、ステップＳ５０２において、制御装置１のモード切替部４２６は、上位装置１０１から診断モードへの移行指示があったか否かを判定し、Ｙｅｓの場合はステップＳ５０６に進み、Ｎｏの場合はステップＳ５０１に戻る。
【０１１１】
一方、ステップＳ５０３において、上位装置１０１のモード切替部１１３２は、ユーザによる入力部１１４を用いた診断モードへの移行指示の操作があったか否かを判定し、Ｙｅｓの場合はステップＳ５０４に進み、Ｎｏの場合はステップＳ５０３に戻る。
【０１１２】
ステップＳ５０４において、上位装置１０１のモード切替部１１３２は、制御装置１に診断モードへの移行を指示する。
【０１１３】
ステップＳ５０５において、上位装置１０１のモード切替部１１３２は、制御装置１が診断モードに移行することを認識する。
【０１１４】
ステップＳ５０６において、制御装置１のモード切替部４２６は、通常モードから診断モードに移行する。
【０１１５】
次に、ステップＳ５０７において、制御装置１の受信数設定部４２４は、記憶部３に記憶されている受信数ｎを「０」に設定する。
【０１１６】
次に、ステップＳ５０８において、制御装置１の診断部４２５は、フレーム送信を上位装置１０１に指示する。
【０１１７】
ステップＳ４０６〜Ｓ４２１は、図８のステップＳ４０６〜Ｓ４２１と同様であるので、説明を省略する。
【０１１８】
このようにして、第３の実施形態の制御装置１の第２の定周期診断処理によれば、上位装置１０１のユーザが所望のタイミングで制御装置１の診断を実行できる。
【０１１９】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１２０】
また、本実施形態の制御装置１で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータ装置で読み取り可能な記録媒体に記録して提供することができる。また、本実施形態の制御装置１で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【０１２１】
また、診断のタイミングは、例えば、定周期としている場合に、さらに、学習によってタイミングを早く、または、遅くなるように変更してもよい。また、診断結果が異常であった場合、制御装置１による被制御装置１０３の制御を強制的に停止させてもよい。
【符号の説明】
【０１２２】
１…制御装置、２…通信インタフェース部、３…記憶部、４…処理部、５…入出力部、６…表示部、２１…受信部、２２…転送部、４１…制御部、４２…セキュリティ診断部、１０１…上位装置、１０２…ネットワーク、１０３…被制御装置、１１１…通信インタフェース部、１１２…記憶部、１１３…処理部、１１４…入力部、１１５…表示部、４２１…受信検知部、４２２…判定部、４２３…転送停止制御部、４２４…受信数設定部、４２５…診断部、４２６…モード切替部、１１３１…制御部、１１３２…モード切替部。
【図１】
2019012953.tif 000003
【図２】
2019012953.tif 000004
【図３】
2019012953.tif 000005
【図４】
2019012953.tif 000006
【図５】
2019012953.tif 000007
【図６】
2019012953.tif 000008
【図７】
2019012953.tif 000009
【図８】
2019012953.tif 000010
【図９】
2019012953.tif 000011