以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
[第一の実施形態]
<システム構成>
まず、第一の実施形態に係る制御システム1のシステム構成について、図1を参照しながら説明する。図1は、第一の実施形態に係る制御システムの一例を示す図である。
図1に示す制御システム1は、1以上の端末装置10と、1以上の監視装置20と、1以上の制御装置30とを有する。端末装置10と監視装置20とは、例えばLAN(Local Area Network)等のネットワークN1を介して通信可能に接続されている。また、監視装置20と制御装置30とは、例えばLAN等のネットワークN2を介して通信可能に接続されている。
更に、制御装置30には、1以上の変換装置40が接続されている。加えて、変換装置40には、1以上の機器50が接続されている。
ここで、監視装置20、制御装置30、変換装置40、及び機器50は、工場や発電所等の施設におけるシステム環境である施設環境E1に含まれる。したがって、端末装置10と、施設環境E1とは、ネットワークN1を介して通信可能に接続されている。なお、施設環境E1は、工場や発電所におけるシステム環境に限られず、例えば、水処理施設やごみ処理施設等の各種施設におけるシステム環境であっても良い。
端末装置10は、ユーザが利用するデスクトップPCやノートPC、スマートフォン、タブレット端末等である。ユーザは、端末装置10を用いて施設環境E1に接続して、各種情報を取得することができる。
例えば、ユーザは、端末装置10を用いて施設環境E1に含まれる監視装置20に接続して、当該監視装置20により提供される各種の監視結果(機器50の動作状態やアラーム等)を取得することができる。
監視装置20は、施設環境E1に含まれる制御装置30や機器50等の動作ログやセンサ情報(機器50の温度や圧力等を各種のセンサで測定した情報)等を収集して、当該動作ログやセンサ情報等に基づくモニタリング(監視)を行う情報処理装置である。また、監視装置20は、端末装置10からの要求に応じて、当該端末装置10に監視結果を提供する。
制御装置30は、例えば、PLC(Programmable Logic Controller)等であり、機器50を制御する情報処理装置である。制御装置30は、機器50の動作を制御すると共に、機器50から動作ログやセンサ情報を取得して監視装置20に送信する。
変換装置40は、例えば、A/D変換やD/A変換を行うモジュール等であり、制御装置30と機器50との間で情報の変換を行う。すなわち、変換装置40は、制御装置30から出力された各種の情報を機器50が入力可能な形式に変換する共に、機器50から出力された各種の情報を制御装置30が入力可能な形式に変換する。なお、変換装置40は、制御装置30に含まれていても良い。
機器50は、例えば、ガスタービンや蒸気タービン等の発電設備、変圧器やガス遮断器等の変電・配電設備、工場等における製造設備等であり、制御装置30により制御される各種の設備やプラント等である。
本実施形態に係る制御システム1は、ユーザが端末装置10を用いて施設環境E1に接続する際に、ログイン認証やアクセス制御等のセキュリティ機能の実行主体を動的に変更させる。
すなわち、例えば、ユーザが端末装置10を用いて施設環境E1に接続して、当該施設環境E1にログインする際に、監視装置20や制御装置30のCPU使用率やメモリ使用率等のリソース使用率に基づいて、ログイン認証を行う装置(監視装置20又は制御装置30)を動的に変更する。同様に、例えば、ユーザが端末装置10を用いて施設環境E1にログインした後、監視装置20により提供される監視結果を取得する際に、監視装置20や制御装置30のリソース使用率に基づいて、アクセス制御を行う装置を動的に変更する。
このように、本実施形態に係る制御システム1では、例えば、CPU使用率に基づいて、セキュリティ機能の実行主体を動的に変更する。このため、本実施形態に係る制御システム1では、例えば、セキュリティ機能の実行によりCPU使用率が高くなったことにより(すなわち、CPUに高い負荷が生じたことにより)、機器50のモニタリングや制御等に影響が生じる事態を防止することができる。
<ハードウェア構成>
次に、第一の実施形態に係る端末装置10、監視装置20、及び制御装置30のハードウェア構成について、図1を参照しながら説明する。図2は、第一の実施形態に係る端末装置、監視装置、及び制御装置のハードウェア構成の一例を示す図である。なお、端末装置10、監視装置20、及び制御装置30は、同様のハードウェア構成を有しているため、以降では、主に、端末装置10のハードウェア構成について説明する。
端末装置10は、入力装置11と、表示装置12と、外部I/F13と、RAM(Random Access Memory)14と、ROM(Read Only Memory)15と、CPU16と、通信I/F17と、記憶装置18とを有する。また、これらの各ハードウェアは、バスBにより通信可能に接続されている。
入力装置11は、例えば、キーボードやマウス、タッチパネル等であり、ユーザが各種の操作信号を入力するのに用いられる。表示装置12は、例えば、ディスプレイ等であり、処理結果を表示する。なお、監視装置20や制御装置30は、入力装置11や表示装置12を必要なときにバスBに接続して利用する形態であっても良い。
外部I/F13は、外部装置とのインタフェースである。外部装置には、記録媒体13a等がある。これにより、端末装置10は、外部I/F13を介して記録媒体13aの読み取り及び/又は書き込みを行うことができる。記録媒体13aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。なお、記録媒体13aには、本実施形態を実現するプログラムが格納されていても良い。
RAM14は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM15は、端末装置10の起動時に実行されるBIOS(Basic Input/Output System)やOS(Operating System)設定、ネットワーク設定等のデータやプログラムが格納されている。
CPU16は、ROM15や記憶装置18等からプログラムやデータをRAM14上に読み出し、処理を実行することで、端末装置10全体の制御や機能を実現する演算装置である。
通信I/F17は、端末装置10をネットワークN1に接続するためのインタフェースである。これにより、端末装置10は、通信I/F17を介してデータ通信を行うことができる。
記憶装置18は、プログラムやデータを格納している不揮発性のメモリであり、例えば、HDD(Hard Disk Drive)やSSD(solid state drive)等である。記憶装置18に格納されるデータには、本実施形態を実現するプログラム、端末装置10全体を制御する基本ソフトウェアであるOS、及びOS上において各種機能を提供するアプリケーションソフトウェア等がある。なお、記憶装置18は、格納しているプログラムやデータを所定のファイルシステム及び/又はDB(データベース)により管理している。
本実施形態に係る端末装置10、監視装置20、及び制御装置30は、図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
<機能構成>
次に、第一の実施形態に係る制御システム1の機能構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る制御システムの機能構成の一例を示す図である。
端末装置10は、入力受付部101と、表示制御部102と、登録要求部103と、実行要求部104とを有する。これら各機能部は、端末装置10にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
入力受付部101は、ユーザによる各種の入力操作を受け付ける。例えば、入力受付部101は、セキュリティ機能の実行条件の登録操作を受け付ける。
また、例えば、入力受付部101は、セキュリティ機能を実行させるための実行操作を受け付ける。
なお、実行条件とは、セキュリティ機能毎に、監視装置20及び制御装置30において当該セキュリティ機能が実行される場合の条件であり、例えば、「CPU使用率が20%未満」や「メモリの使用率が30%未満」等とリソース使用率で表される。
また、セキュリティ機能とは、ユーザが端末装置10を用いて施設環境E1に接続する場合に実行される各種のセキュリティに関する機能であり、例えば、ログイン認証やアクセス制御等が挙げられる。
表示制御部102は、各種の画面を表示させる。例えば、表示制御部102は、セキュリティ機能の実行条件を設定及び登録するための画面を表示させる。
登録要求部103は、入力受付部101により登録操作が受け付けられると、実行条件の登録要求を監視装置20に送信する。
実行要求部104は、入力受付部101によりセキュリティ機能を実行させるための実行操作(例えば、ログイン操作)が受け付けられると、当該セキュリティ機能の実行要求(例えば、ログイン認証の実行要求)を監視装置20に送信する。
監視装置20は、登録処理部201と、実行判定処理部202と、機能実行部203とを有する。これら各機能部は、監視装置20にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
また、監視装置20は、実行条件記憶部204を有する。当該記憶部は、記憶装置18を用いて実現可能である。なお、当該記憶部は、例えば、監視装置20とネットワークを介して接続される記憶装置等を用いて実現されても良い。
登録処理部201は、実行条件の登録要求に応じて、当該登録要求に基づく実行条件を監視装置20に登録する。すなわち、登録処理部201は、実行条件の登録要求を受信すると、当該実行条件を示す実行条件情報を実行条件記憶部204に記憶させる。
また、登録処理部201は、実行条件情報を実行条件記憶部204に記憶させると、実行条件の登録要求を制御装置30に送信する。すなわち、登録処理部201は、端末装置10から受信した実行条件の登録要求を制御装置30に転送する。
実行判定処理部202は、セキュリティ機能の実行要求に応じて、当該セキュリティ機能を監視装置20で実行するか否かを判定する処理(セキュリティ機能の実行判定処理)を実行する。ここで、実行判定処理部202は、条件取得部212と、条件判定部222とを有する。
条件取得部212は、セキュリティ機能の実行要求に応じて、当該実行要求に係るセキュリティ機能の実行条件情報を実行条件記憶部204から取得する。条件判定部222は、条件取得部212により実行条件情報が取得されると、当該実行条件情報に基づいて、実行要求に係るセキュリティ機能の実行条件を満たすか否かを判定する。
ここで、実行判定処理部202は、条件判定部222によりセキュリティ機能の実行条件を満たすと判定された場合、当該セキュリティ機能を監視装置20で実行すると判定する。一方で、実行判定処理部202は、条件判定部222によりセキュリティ機能の実行条件を満たさないと判定された場合、当該セキュリティ機能を監視装置20で実行しないと判定する。
機能実行部203は、実行判定処理部202によりセキュリティ機能を監視装置20で実行すると判定された場合、当該セキュリティ機能(例えば、ログイン認証)を実行する。
また、機能実行部203は、実行判定処理部202によりセキュリティ機能を監視装置20で実行しないと判定された場合、当該セキュリティ機能の実行要求を制御装置30に送信(転送)する。
実行条件記憶部204は、登録処理部201により記憶された実行条件情報を記憶する。なお、実行条件情報の詳細については後述する。
制御装置30は、登録処理部301と、実行判定処理部302と、機能実行部303とを有する。これら各機能部は、制御装置30にインストールされた1以上のプログラムが、CPU16に実行させる処理により実現される。
また、制御装置30は、実行条件記憶部304を有する。当該記憶部は、記憶装置18を用いて実現可能である。なお、当該記憶部は、例えば、制御装置30とネットワークを介して接続される記憶装置等を用いて実現されても良い。
登録処理部301は、実行条件の登録要求に応じて、当該登録要求に基づく実行条件を制御装置30に登録する。すなわち、登録処理部301は、実行条件の登録要求を受信すると、当該実行条件を示す実行条件情報を実行条件記憶部304に記憶させる。
実行判定処理部302は、セキュリティ機能の実行要求に応じて、当該セキュリティ機能を制御装置30で実行するか否かを判定する処理(セキュリティ機能の実行判定処理)を実行する。ここで、実行判定処理部302は、条件取得部312と、条件判定部322とを有する。
条件取得部312は、セキュリティ機能の実行要求に応じて、当該実行要求に係るセキュリティ機能の実行条件情報を実行条件記憶部304から取得する。条件判定部322は、条件取得部312により実行条件情報が取得されると、当該実行条件情報に基づいて、実行要求に係るセキュリティ機能の実行条件を満たすか否かを判定する。
ここで、実行判定処理部302は、条件判定部322によりセキュリティ機能の実行条件を満たすと判定された場合、当該セキュリティ機能を制御装置30で実行すると判定する。一方で、実行判定処理部302は、条件判定部322によりセキュリティ機能の実行条件を満たさないと判定された場合、当該セキュリティ機能を制御装置30で実行しないと判定する。
機能実行部303は、実行判定処理部302によりセキュリティ機能を制御装置30で実行すると判定された場合、当該セキュリティ機能(例えば、ログイン認証)を実行する。
実行条件記憶部304は、登録処理部301により記憶された実行条件情報を記憶する。なお、実行条件情報の詳細については後述する。
<処理の詳細>
次に、第一の実施形態に係る制御システム1の処理の詳細について説明する。
まず、本実施形態に係る制御システム1において、セキュリティ機能の実行条件を監視装置20及び制御装置30に登録する処理について、図4を参照しながら説明する。図4は、第一の実施形態に係るセキュリティ機能の実行条件の登録処理の一例を示すシーケンス図である。なお、以降において、「登録」には、実行条件情報を実行条件記憶部204及び実行条件記憶部304に新たに追加する「新規登録」と、実行条件記憶部204及び実行条件記憶部304に記憶されている実行条件情報を更新する「更新登録」とが含まれる。
まず、端末装置10の入力受付部101は、例えば図5に示すセキュリティ機能の実行条件の設定画面1000において、ユーザによるセキュリティ機能の実行条件の登録操作を受け付ける(ステップS401)。
ここで、図5に示すセキュリティ機能の実行条件の設定画面1000は、端末装置10の表示制御部102により表示装置12等に表示され、セキュリティ機能の一覧1100と、実行条件の一覧1200と、登録ボタン1300とが含まれる。
セキュリティ機能の一覧1100は、実行条件を設定するセキュリティ機能を選択するための一覧であり、例えば、「ログイン認証」、「アクセス制御」等のセキュリティ機能が含まれる。実行条件の一覧1200は、セキュリティ機能の一覧1100で選択されたセキュリティ機能に対して設定する実行条件を選択するための一覧であり、例えば、「CPU使用率20%未満」、「CPU使用率30%未満」等の実行条件が含まれる。登録ボタン1300は、セキュリティ機能の一覧1100及び実行条件の一覧1200で選択されたセキュリティ機能及び実行条件を登録するための表示部品である。なお、実行条件において、例えば、CPU使用率やメモリ使用率等の値をユーザが任意に入力することができても良い。
ユーザは、セキュリティ機能の実行条件の設定画面1000において、セキュリティ機能の一覧1100及び実行条件の一覧1200からそれぞれ所望のセキュリティ機能及び実行条件を選択し、登録ボタン1300を押下することで、登録操作を行うことができる。
以降では、一例として、ユーザにより、セキュリティ機能の一覧1100及び実行条件の一覧1200からそれぞれ「ログイン認証」及び「CPU使用率30%未満」が選択され、登録ボタン1300が押下されたものとして説明する。
次に、端末装置10の登録要求部103は、入力受付部101により登録操作が受け付けられると、実行条件の登録要求を監視装置20に送信する(ステップS402)。なお、当該登録要求には、ユーザにより選択されたセキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」が含まれる。
監視装置20の登録処理部201は、実行条件の登録要求を受信すると、当該登録要求に含まれるセキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」を示す実行条件情報を作成し、実行条件記憶部204に記憶させる(ステップS403)。
ここで、実行条件記憶部204に記憶された実行条件情報を図6(a)に示す。図6(a)に示すように、ステップS403では、登録処理部201により、セキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」である実行条件情報が実行条件記憶部204に記憶される。
これにより、ユーザにより選択されたセキュリティ機能における実行条件が監視装置20に登録される。なお、同一のセキュリティ機能の実行条件が監視装置20に既に登録されている場合、登録処理部201は、既に登録されている実行条件を示す実行条件情報を、上記で作成した実行条件情報で上書きする。
なお、図6(a)に示すように、実行条件記憶部204には、セキュリティ機能毎に、当該セキュリティ機能が実行される場合の実行条件が関連付けて記憶されている。
次に、監視装置20の登録処理部201は、実行条件情報を実行条件記憶部204に記憶させると、実行条件の登録要求を制御装置30に送信する(ステップS404)。なお、当該登録要求には、上記のステップS401においてユーザにより選択されたセキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」が含まれる。
制御装置30の登録処理部301は、実行条件の登録要求を受信すると、当該登録要求に含まれるセキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」を示す実行条件情報を作成し、実行条件記憶部304に記憶させる(ステップS405)。
ここで、実行条件記憶部304に記憶された実行条件情報を図6(b)に示す。図6(b)に示すように、ステップS405では、登録処理部301により、セキュリティ機能「ログイン認証」及び実行条件「CPU使用率30%未満」である実行条件情報が実行条件記憶部304に記憶される。
これにより、ユーザにより選択されたセキュリティ機能における実行条件が制御装置30に登録される。なお、同一のセキュリティ機能の実行条件が監視装置20に既に登録されている場合、登録処理部301は、既に登録されている実行条件を示す実行条件情報を、上記で作成した実行条件情報で上書きする。
続いて、制御装置30の登録処理部301は、実行条件情報を実行条件記憶部304に記憶させると、実行条件を登録したことを示す登録結果を監視装置20に送信する(ステップS406)。
そして、監視装置20の登録処理部201は、制御装置30から登録結果を受信すると、当該登録結果を端末装置10に送信する(ステップS407)。
以上により、本実施形態に係る制御システム1では、ユーザにより設定されたセキュリティ機能の実行条件が監視装置20及び制御装置30に登録される。すなわち、本実施形態に係る制御システム1では、ユーザは、端末装置10を用いて、適宜、セキュリティ機能の実行条件を監視装置20及び制御装置30に登録することができる。
これにより、本実施形態に係る制御システム1では、例えば、制御システム1の制御内容や機器50の構成等が変更された場合、ユーザは、変更内容に応じた適切な実行条件を登録することができるようになる。
次に、本実施形態に係る制御システム1において、監視装置20又は制御装置30においてセキュリティ機能を実行する処理について。図7を参照しながら説明する。図7は、第一の実施形態に係るセキュリティ機能の実行処理の一例を示すシーケンス図である。なお、以降では、セキュリティ機能の一例として、「ログイン認証」を実行する場合について説明する。
まず、端末装置10の入力受付部101は、施設環境E1にログインするためのログイン操作を受け付ける(ステップS701)。
すなわち、ユーザは、端末装置10の表示制御部102により表示された所定のログイン画面において、ログインID及びログインパスワード等を入力して、セキュリティ機能の実行操作の一例であるログイン操作を行う。すると、端末装置10の入力受付部101は、当該ログイン操作を受け付ける。
次に、端末装置10の実行要求部104は、入力受付部101によりログイン操作が受け付けられると、セキュリティ機能の一例であるログイン認証の実行要求を監視装置20に送信する(ステップS702)。なお、当該実行要求には、上記のログイン画面においてユーザにより入力されたログインID及びログインパスワード等が含まれる。
監視装置20の実行判定処理部202は、ログイン認証の実行要求を受信すると、実行条件記憶部204に記憶されている実行条件情報に基づいて、ログイン認証を監視装置20で実行するか否かを判定する(ステップS703)。すなわち、監視装置20の実行判定処理部202は、セキュリティ機能の実行判定処理を実行する。なお、本ステップにおけるセキュリティ機能の実行判定処理の詳細については後述する。
ステップS703において、実行判定処理部202によりログイン認証を監視装置20で実行すると判定された場合、監視装置20の機能実行部203は、ログイン認証を実行する(ステップS704)。すなわち、監視装置20の機能実行部203は、例えば、ログイン認証の実行要求に含まれるログインID及びパスワード等が、予め設定されたログインID及びパスワード等と一致するか否かを判定して、ログイン認証を行う。
そして、監視装置20の機能実行部203は、セキュリティ機能の実行結果の一例である認証結果を端末装置10に送信する(ステップS704)。
このように、ステップS703のセキュリティ機能の実行判定処理において、セキュリティ機能を実行すると判定された場合、監視装置20の機能実行部203は、実行要求に係るセキュリティ機能を実行する。
一方、ステップS703において、実行判定処理部202によりログイン認証を監視装置20で実行しないと判定された場合、監視装置20の機能実行部203は、ログイン認証の実行要求を制御装置30に送信する(ステップS706)。
このように、ステップS703のセキュリティ機能の実行判定処理において、セキュリティ機能を実行しないと判定された場合、監視装置20は、セキュリティ機能の実行要求を制御装置30に送信(転送)する。
制御装置30の実行判定処理部302は、ログイン認証の実行要求を受信すると、実行条件記憶部304に記憶されている実行条件情報に基づいて、ログイン認証を制御装置30で実行するか否かを判定する(ステップS707)。すなわち、制御装置30の実行判定処理部302は、セキュリティ機能の実行判定処理を実行する。なお、本ステップにおけるセキュリティ機能の実行判定処理の詳細については後述する。
ステップS707において、実行判定処理部302によりログイン認証を制御装置30で実行すると判定された場合、制御装置30の機能実行部303は、ログイン認証を実行する(ステップS708)。すなわち、制御装置30の機能実行部303は、例えば、ログイン認証の実行要求に含まれるログインID及びパスワード等が、予め設定されたログインID及びパスワード等と一致するか否かを判定して、ログイン認証を行う。
そして、制御装置30の機能実行部303は、認証結果を監視装置20に送信する(ステップS709)。
監視装置20の機能実行部303は、認証結果を受信すると、当該認証結果を端末装置10に送信する(ステップS710)。
このように、監視装置20でセキュリティ機能を実行しない場合に、ステップS707のセキュリティ機能の実行判定処理において、セキュリティ機能を実行すると判定された場合、制御装置30は、実行要求に係るセキュリティ機能を実行する。
一方、ステップS707において、実行判定処理部302によりログイン認証を制御装置30で実行しないと判定された場合、制御装置30の機能実行部303は、ログイン認証が実行できないことを示す実行不可通知を監視装置20に送信する(ステップS711)。
監視装置20の機能実行部303は、実行不可通知を受信すると、当該実行不可通知を端末装置10に送信する(ステップS712)。
このように、監視装置20及び制御装置30のいずれでもセキュリティ機能を実行しない場合には、当該セキュリティ機能が実行できないことを示す実行不可通知を端末装置10に送信する。
なお、上記のステップS711で、制御装置30は、監視装置20に実行不可通知を送信するものとしたが、これに限られない。制御装置30は、実行判定処理部302によりログイン認証を制御装置30で実行しないと判定された場合、例えば、他の制御装置30や監視装置20等にセキュリティ機能の実行要求を送信しても良い。
以上のように、本実施形態に係る制御システム1では、端末装置10からのセキュリティ機能の実行要求に応じて、監視装置20及び制御装置30において、当該セキュリティ機能の実行条件に基づいて実行判定を行う。
これにより、例えば、実行条件が「CPU使用率30%未満」である場合において、監視装置20のCPU使用率が30%以上である場合、当該監視装置20ではセキュリティ機能が実行されない。制御装置30においても同様である。
したがって、本実施形態に係る制御システム1では、例えば、監視装置20や制御装置30においてセキュリティ機能が実行されることでCPUの処理負荷が増大した結果、機器50の動作監視や動作制御に影響を与えてしまう事態を防止することができる。
次に、上記のステップS703及びステップS707のセキュリティ機能の実行判定処理の詳細について、図8を参照しながら説明する。図8は、第一の実施形態に係るセキュリティ機能の実行判定処理の一例を示すフローチャートである。
ここで、ステップS703のセキュリティ機能の実行判定処理は、監視装置20の実行判定処理部202により実行される。一方で、ステップS707のセキュリティ機能の実行判定処理は、制御装置30の実行判定処理部302により実行される。以降では、主に、ステップS703のセキュリティ機能の実行判定処理について説明する。
なお、監視装置20、実行判定処理部202、条件取得部212、条件判定部222、及び実行条件記憶部204を、それぞれ制御装置30、実行判定処理部302、条件取得部312、条件判定部322、及び実行条件記憶部304と読み替えることで、ステップS707のセキュリティ機能の実行判定処理に同様に適用される。
まず、実行判定処理部202の条件取得部212は、該当のセキュリティ機能の実行条件情報を実行条件記憶部204から取得する(ステップS801)。すなわち、条件取得部212は、セキュリティ機能が「ログイン認証」である実行条件情報を実行条件記憶部204から取得する。
以降では、セキュリティ機能「ログイン認証」、実行条件「CPU使用率30%未満」である実行条件情報が取得されたものとして説明する。
次に、実行判定処理部202の条件判定部222は、条件取得部212により取得された実行条件情報に含まれる実行条件を満たすか否かを判定する(ステップS802)。すなわち、条件判定部222は、監視装置20のCPU16の現在の使用率が、30%未満であるか否かを判定する。
ステップS802において、条件判定部222により実行条件を満たすと判定された場合、実行判定処理部202は、該当のセキュリティ機能を監視装置20で実行すると判定する(ステップS803)。すなわち、実行判定処理部202は、ログイン認証を監視装置20で実行すると判定する。
ステップS802において、条件判定部222により実行条件を満たさないと判定された場合、実行判定処理部202は、該当のセキュリティ機能を監視装置20で実行しないと判定する(ステップS804)。すなわち、実行判定処理部202は、ログイン認証を監視装置20で実行しないと判定する。
以上により、本実施形態に係る制御システム1では、監視装置20及び制御装置30において、セキュリティ機能の実行判定が行われる。しかも、このような実行判定は、監視装置20及び制御装置30のCPU使用率やメモリ使用率等のリソース使用率の条件を示す実行条件に基づいて行われる。
このため、本実施形態に係る制御システム1では、例えば、監視装置20のリソース使用率が高い場合、制御装置30にセキュリティ機能の実行を切り替えることができる。すなわち、本実施形態に係る制御システム1では、例えば、監視装置20のリソース使用率に基づいて、セキュリティ機能の実行主体を動的に変更することができる。
これにより、本実施形態に係る制御システム1では、セキュリティ機能の実行によりリソース使用率が増加した結果、機器50の動作監視や動作制御等に影響を与えてしまう事態を防止することができる。
[第二の実施形態]
次に、第二の実施形態について説明する。第二の実施形態では、同一のセキュリティ機能に対して、監視装置20と制御装置30とで異なる実行条件を設定できる点が第一の実施形態と異なる。なお、以降の本実施形態の説明では、第一の実施形態との相違点について主に説明し、第一の実施形態と同様の機能構成を有する箇所及び同様の処理を行う箇所には、第一の実施形態と同様の符号を付与し、その説明を省略する。
<処理の詳細>
以降では、セキュリティ機能の実行条件の登録処理について、図9を参照しながら説明する。図9は、第二の実施形態に係るセキュリティ機能の実行条件の登録処理の一例を示すシーケンス図である。
まず、端末装置10の入力受付部101は、例えば図10に示すセキュリティ機能の実行条件の設定画面2000において、ユーザによるセキュリティ機能の実行条件の登録操作を受け付ける(ステップS901)。
ここで、図10に示すセキュリティ機能の実行条件の設定画面2000は、セキュリティ機能の一覧2100と、実行条件(監視装置)の一覧2200と、実行条件(制御装置)の一覧2300と、登録ボタン2400とが含まれる。
セキュリティ機能の一覧2100は、実行条件を設定するセキュリティ機能を選択するための一覧である。
実行条件(監視装置)の一覧2200は、監視装置20において、セキュリティ機能の一覧2100で選択されたセキュリティ機能に対して設定する実行条件を選択するための一覧である。同様に、実行条件(制御装置)の一覧2300は、制御装置30において、セキュリティ機能の一覧2100で選択されたセキュリティ機能に対して設定する実行条件を選択するための一覧である。登録ボタン2400は、セキュリティ機能の一覧2100、実行条件(監視装置)の一覧2200、及び実行条件(制御装置)の一覧2300で選択されたセキュリティ機能及び実行条件を登録するための表示部品である。
ユーザは、セキュリティ機能の実行条件の設定画面2000において、セキュリティ機能の一覧2100、実行条件(監視装置)の一覧2200、及び実行条件(制御装置)の一覧2300からそれぞれ所望のセキュリティ機能及び実行条件を選択し、登録ボタン2400を押下することで、登録操作を行うことができる。
以降では、一例として、ユーザにより、セキュリティ機能の一覧2100、実行条件(監視装置)の一覧2200、及び実行条件(制御装置)の一覧2300からそれぞれ「ログイン認証」、「CPU使用率20%未満」、及び「CPU使用率40%未満」が選択され、登録ボタン2400が押下されたものとして説明する。
次に、端末装置10の登録要求部103は、入力受付部101により登録操作が受け付けられると、実行条件の登録要求を監視装置20に送信する(ステップS902)。なお、当該登録要求には、ユーザにより選択されたセキュリティ機能「ログイン認証」、監視装置20の実行条件「CPU使用率20%未満」、及び制御装置30の実行条件「CPU使用率40%未満」が含まれる。
監視装置20の登録処理部201は、実行条件の登録要求を受信すると、当該登録要求に含まれるセキュリティ機能「ログイン認証」及び監視装置20の実行条件「CPU使用率20%未満」を示す実行条件情報を作成し、実行条件記憶部204に記憶させる(ステップS903)。
ここで、実行条件記憶部204に記憶された実行条件情報を図11(a)に示す。図11(a)に示すように、ステップS903では、登録処理部201により、セキュリティ機能「ログイン認証」及び実行条件「CPU使用率20%未満」である実行条件情報が実行条件記憶部204に記憶される。
次に、監視装置20の登録処理部201は、実行条件情報を実行条件記憶部204に記憶させると、実行条件の登録要求を制御装置30に送信する(ステップS904)。
制御装置30の登録処理部301は、実行条件の登録要求を受信すると、当該登録要求に含まれるセキュリティ機能「ログイン認証」及び制御装置30の実行条件「CPU使用率40%未満」を示す実行条件情報を作成し、実行条件記憶部304に記憶させる(ステップS905)。
ここで、実行条件記憶部304に記憶された実行条件情報を図10(b)に示す。図10(b)に示すように、ステップS905では、登録処理部301により、セキュリティ機能「ログイン認証」及び実行条件「CPU使用率40%未満」である実行条件情報が実行条件記憶部304に記憶される。
以上により、本実施形態に係る制御システム1では、同一のセキュリティ機能に対して、監視装置20と制御装置30とで、異なる実行条件を登録することができる。これにより、ユーザは、監視装置20や制御装置30が備えるRAM14やCPU16に応じて、適切な実行条件を設定することができるようになる。
[第三の実施形態]
次に、第三の実施形態について説明する。第三の実施形態では、リソース使用率の傾向に基づいてセキュリティ機能を実行するか否かを判定する点が第一の実施形態と異なる。なお、以降の本実施形態の説明では、第一の実施形態との相違点について主に説明し、第一の実施形態と同様の機能構成を有する箇所及び同様の処理を行う箇所には、第一の実施形態と同様の符号を付与し、その説明を省略する。
<機能構成>
次に、第三の実施形態に係る制御システム1の機能構成について、図12を参照しながら説明する。図12は、第三の実施形態に係る制御システムの機能構成の一例を示す図である。
監視装置20は、実行判定処理部202Aを有する。また、監視装置20は、使用率履歴記憶部205を有する。当該記憶部は、記憶装置18を用いて実現可能である。なお、当該記憶部は、例えば、監視装置20とネットワークを介して接続される記憶装置等を用いて実現されても良い。
実行判定処理部202Aは、使用率取得部232と、傾向解析部242と、条件判定部222Aとを有する。使用率取得部232は、監視装置20のリソース使用率(例えば、CPU使用率やメモリ使用率)を取得して、使用率履歴記憶部205に記憶させる。傾向解析部242は、使用率履歴記憶部205に記憶されているリソース使用率の傾向を解析する。条件判定部222Aは、傾向解析部242により解析されたリソース使用率の傾向が高使用率となる傾向(以降、「高使用率傾向」とする。)であるか否かを判定する。
ここで、実行判定処理部202Aは、条件判定部222Aによりリソース使用率の傾向が高使用率傾向でないと判定された場合、セキュリティ機能を監視装置20で実行すると判定する。一方で、実行判定処理部202Aは、条件判定部222Aによりリソース使用率の傾向が高使用率傾向であると判定された場合、セキュリティ機能を監視装置20で実行しないと判定する。
使用率履歴記憶部205は、リソース使用率の時系列情報である使用率情報を記憶する。ここで、使用率履歴記憶部205に記憶された使用率情報を図13(a)に示す。図13(a)に示すように、使用率履歴記憶部205に記憶された使用率情報は、監視装置20のリソース使用率(例えば、CPU使用率やメモリ使用率)を、当該リソース使用率を取得した取得時刻と対応付けた情報である。
制御装置30は、実行判定処理部202Aを有する。また、制御装置30は、使用率履歴記憶部305を有する。当該記憶部は、記憶装置18を用いて実現可能である。なお、当該記憶部は、例えば、制御装置30とネットワークを介して接続される記憶装置等を用いて実現されても良い。
実行判定処理部302Aは、使用率取得部332と、傾向解析部342と、条件判定部322Aとを有する。使用率取得部332は、制御装置30のリソース使用率(例えば、CPU使用率やメモリ使用率)を取得して、使用率履歴記憶部305に記憶させる。傾向解析部342は、使用率履歴記憶部305に記憶されているリソース使用率の傾向を解析する。条件判定部322Aは、傾向解析部342により解析されたリソース使用率の傾向が高使用率傾向であるか否かを判定する。
ここで、実行判定処理部302Aは、条件判定部322Aによりリソース使用率の傾向が高使用率傾向でないと判定された場合、セキュリティ機能を制御装置30で実行すると判定する。一方で、実行判定処理部302Aは、条件判定部322Aによりリソース使用率の傾向が高使用率傾向であると判定された場合、セキュリティ機能を制御装置30で実行しないと判定する。
使用率履歴記憶部305は、リソース使用率の時系列情報である使用率情報を記憶する。ここで、使用率履歴記憶部305に記憶された使用率情報を図13(b)に示す。図13(b)に示すように、使用率履歴記憶部305に記憶された使用率情報は、制御装置30のリソース使用率(例えば、CPU使用率やメモリ使用率)を、当該リソース使用率を取得した取得時刻と対応付けた情報である。
<処理の詳細>
以降では、セキュリティ機能の実行判定処理について、図14を参照しながら説明する。図14は、第三の実施形態に係るセキュリティ機能の実行判定処理の一例を示すフローチャートである。
以降では、第一の実施形態と同様に、主に、ステップS703のセキュリティ機能の実行判定処理について説明する。
なお、第一の実施形態と同様に、監視装置20、実行判定処理部202A、条件取得部212、条件判定部222A、使用率取得部232、傾向解析部242、実行条件記憶部204、及び使用率履歴記憶部205を、それぞれ制御装置30、実行判定処理部302A、条件取得部312、条件判定部322A、使用率取得部332、傾向解析部342、実行条件記憶部304、及び使用率履歴記憶部305と読み替えることで、ステップS707のセキュリティ機能の実行判定処理に同様に適用される。
実行判定処理部202Aの使用率取得部232は、監視装置20のリソース使用率を取得する。そして、使用率取得部232は、取得したリソース使用率を取得時刻と関連付けた使用率情報を作成し、使用率履歴記憶部205に記憶させる(ステップS1401)。
これにより、使用率履歴記憶部205には、使用率取得部232により取得されたリソース使用率の履歴を示す使用率情報が記憶される。
ステップS802において、条件判定部222Aにより実行条件を満たすと判定された場合、傾向解析部242は、使用率履歴記憶部205に記憶されている使用率情報に含まれるリソース使用率の傾向を解析する(ステップS1402)。
実行判定処理部202Aの条件判定部222Aは、傾向解析部242により解析されたリソース使用率の傾向が高使用率傾向であるか否かを判定する(ステップS1403)。
ここで、リソース使用率の傾向は、傾向解析部242により解析された解析結果が、例えば、以下の(1)〜(3)に示すような場合に、条件判定部222Aにより高使用率傾向と判定される。
(1)使用率履歴記憶部205に記憶された使用率情報に含まれるリソース使用率の増減を近似(一次近似)した近似式を導出し、当該近似式の傾きが所定の第1の閾値以上である場合。
例えば、図13(a)に示すように、使用率情報に含まれるリソース使用率が、取得時刻に従って5分毎に「6%」、「12%」、「18%」等のように増加している場合、近似式は「y=1.2x」と表される。なお、yはリソース使用率、xは時間(分)である。
したがって、このとき、傾き「1.2」が第1の閾値以上である場合、実行判定処理部202Aは、リソースの使用率の傾向が高使用率傾向であると判定する。これにより、実行判定処理部202Aは、例えば、リソース使用率が急激に増加するような場合等に高使用率傾向であると判定することができる。
(2)ステップS1401で取得された監視装置20のリソース使用率が所定の第2の閾値以上であり、かつ、使用率履歴記憶部205に記憶された使用率情報に含まれるリソース使用率の増減を近似した近似式の傾きが「正」である場合。
これにより、ステップS1401で取得されたリソース使用率が実行条件を満たす場合であっても、当該リソース使用率が第2の閾値以上、かつ、リソース使用率が増加傾向である場合に、実行判定処理部202Aは、高使用率傾向であると判定することができる。
(3)ステップS1401で取得された監視装置20のリソース使用率が所定の第2の閾値以上であり、かつ、使用率履歴記憶部205に記憶された使用率情報に含まれるリソース使用率の増減を近似した近似式の傾きが所定の第1の閾値以上である場合。
これにより、ステップS1401で取得されたリソース使用率が第2の閾値以上、かつ、リソース使用率が所定の割合以上で増加するような場合等に、実行判定処理部202Aは、高使用率傾向であると判定することができる。
(4)使用率履歴記憶部205に記憶された使用率情報に含まれるリソース使用率の増減を近似した近似式の傾きに基づいて、所定の時間内にリソース使用率が所定の第3の閾値以上となる場合。
すなわち、例えば、近似式を「y=mx」、所定の時間を「T」(分)としたときに、「y=mT」が第3の閾値以上となる場合等である。これにより、例えば、所定の時間経過後に第3の閾値以上となることが予測されるような場合等に、実行判定処理部202Aは、高使用率傾向であると判定することができる。
ただし、傾向解析部242による解析手法は上記に限られず、リソース使用率の増加傾向又は減少傾向を解析するための種々の手法が用いられても良い。
なお、実行判定処理部202Aは、傾向解析部242による解析結果を高使用率傾向であると判定しなかった場合、例えば、リソースの使用率が増加も減少もしていないことを示す「定常傾向」と判定しても良い。また、実行判定処理部202Aは、例えば、高使用率ではないもののリソース使用率が増加していることを示す「増加傾向」やリソース使用率が減少していることを示す「減少傾向」等と判定しても良い。
なお、条件判定部222Aによりリソース使用率の傾向が高使用率傾向であると判定された場合、ステップS803に進む。一方で、条件判定部222Aによりリソース使用率の傾向が高使用率傾向でないと判定された場合、ステップS804に進む。
以上により、本実施形態に係る制御システム1では、セキュリティ機能の実行条件を満たしている場合であっても、リソース使用率が高使用率傾向である場合には、当該セキュリティ機能を実行させないようにすることができる。
これにより、本実施形態に係る制御システム1では、例えば、プロセス制御等においてCPU使用率が増加する傾向の制御が行われている場合、セキュリティ機能の実行を行わないようにすることができる。
[第四の実施形態]
次に、第四の実施形態について説明する。第四の実施形態では、実行待ちとなっているセキュリティ機能のリソース使用率を予想して、セキュリティ機能を実行するか否かを判定する点が第一の実施形態と異なる。なお、以降の本実施形態の説明では、第一の実施形態との相違点について主に説明し、第一の実施形態と同様の機能構成を有する箇所及び同様の処理を行う箇所には、第一の実施形態と同様の符号を付与し、その説明を省略する。
<機能構成>
次に、第四の実施形態に係る制御システム1の機能構成について、図15を参照しながら説明する。図15は、第四の実施形態に係る制御システムの機能構成の一例を示す図である。
監視装置20は、実行判定処理部202Bを有する。実行判定処理部202Bは、実行待ち管理部252と、予想使用率算出部262と、条件判定部222Bとを有する。
また、監視装置20は、実行条件記憶部204Aと、実行待ち記憶部206とを有する。これら記憶部は、記憶装置18を用いて実現可能である。なお、これら記憶部は、例えば、監視装置20とネットワークを介して接続される記憶装置等を用いて実現されても良い。
実行待ち管理部252は、セキュリティ機能の実行要求を受信すると、実行待ち情報として、当該実行要求を実行待ち記憶部206に記憶させる。
予想使用率算出部262は、実行条件記憶部204Aに記憶されている実行条件情報と、実行待ち記憶部206に記憶されているセキュリティ機能の実行要求とに基づいて、リソースの予想使用率(以降、「予想リソース使用率」と表す。)を算出する。
条件判定部222Bは、条件取得部212により取得された実行条件情報と、予想使用率算出部262により算出された予想リソース使用率とに基づいて、実行要求に係るセキュリティ機能の実行条件を満たすか否かを判定する。
実行条件記憶部204Aは、実行条件情報を記憶する。なお、実行条件情報の詳細については後述する。
実行待ち記憶部206は、実行待ち情報として、セキュリティ機能の実行要求を記憶する。なお、実行待ち情報の詳細については後述する。
制御装置30は、実行判定処理部302Bを有する。実行判定処理部302Bは、実行待ち管理部352と、予想使用率算出部362と、条件判定部322Bとを有する。
また、制御装置30は、実行条件記憶部304Aと、実行待ち記憶部306とを有する。これら記憶部は、記憶装置18を用いて実現可能である。なお、これら記憶部は、例えば、制御装置30とネットワークを介して接続される記憶装置等を用いて実現されても良い。
実行待ち管理部352は、セキュリティ機能の実行要求を受信すると、実行待ち情報として、当該実行要求を実行待ち記憶部306に記憶させる。
予想使用率算出部362は、実行条件記憶部304Aに記憶されている実行条件情報と、実行待ち記憶部306に記憶されているセキュリティ機能の実行要求とに基づいて、予想リソース使用率を算出する。
条件判定部322Bは、条件取得部312により取得された実行条件情報と、予想使用率算出部362により算出された予想リソース使用率とに基づいて、実行要求に係るセキュリティ機能の実行条件を満たすか否かを判定する。
実行条件記憶部304Aは、実行条件情報を記憶する。なお、実行条件情報の詳細については後述する。
実行待ち記憶部306は、実行待ち情報として、セキュリティ機能の実行要求を記憶する。なお、実行待ち情報の詳細については後述する。
ここで、実行条件記憶部204Aに記憶された実行条件情報を図16(a)に示す。図16(a)に示すように、本実施形態に係る実行条件情報は、セキュリティ機能毎に、単位時間のリソース使用率が記憶されている。
例えば、セキュリティ機能「ログイン認証」の単位時間のリソース使用率は「CPU使用率1%」である。同様に、例えば、セキュリティ機能「アクセス制御」の単位時間のリソース使用率は「CPU使用率2%」である。なお、リソース使用率は、メモリ使用率等であっても良い。
なお、実行条件情報に含まれる単位時間のリソース使用率は、ユーザ等によりセキュリティ機能毎に予め設定されても良いし、過去のセキュリティ機能の実行時における実績値の平均等が設定されても良い。
また、実行条件記憶部304Aに記憶された実行条件情報を図16(b)に示す。図16(b)に示すように、本実施形態に係る実行条件情報は、上記と同様に、セキュリティ機能毎に、単位時間のリソース使用率が記憶されている。
このように、本実施形態に係る実行条件情報には、セキュリティ機能毎に、単位時間のリソース使用率が記憶されている。これにより、本実施形態に係る監視装置20及び制御装置30は、実行待ちとなっているセキュリティ機能の予想リソース使用率を算出することができる。
<処理の詳細>
以降では、セキュリティ機能の実行判定処理について、図17を参照しながら説明する。図17は、第四の実施形態に係るセキュリティ機能の実行判定処理の一例を示すフローチャートである。
以降では、第一の実施形態と同様に、主に、ステップS703のセキュリティ機能の実行判定処理について説明する。
なお、第一の実施形態と同様に、監視装置20、実行判定処理部202B、条件取得部212、条件判定部222B、実行待ち管理部252、予想使用率算出部262、実行条件記憶部204A、及び実行待ち記憶部206を、それぞれ制御装置30、実行判定処理部302B、条件取得部312、条件判定部322B、実行待ち管理部352、予想使用率算出部362、実行条件記憶部304A、及び実行待ち記憶部306と読み替えることで、ステップS707のセキュリティ機能の実行判定処理に同様に適用される。
実行待ち管理部252は、受信したセキュリティ機能の実行要求(ここでは、ログイン認証の実行要求)を、実行待ち情報として実行待ち記憶部206に記憶させる(ステップS1701)。
ここで、実行待ち記憶部206に記憶されている実行待ち情報を図18に示す。図18に示すように、実行待ち記憶部206には、セキュリティ機能の実行要求が実行待ち情報として記憶されている。このように、監視装置20は、複数の端末装置10から受信したセキュリティ機能の実行要求のうち、未実行の実行要求を実行待ち情報として実行待ち記憶部206に記憶している。
次に、予想使用率算出部262は、実行条件記憶部204Aに記憶されている実行条件情報と、実行待ち記憶部206に記憶されている実行待ち情報とに基づいて、実行待ちとなっているセキュリティ機能の予想リソース使用率を算出する(ステップS1702)。
すなわち、例えば、図18に示すように、2つのログイン認証の実行要求と、1つのアクセス制御の実行要求とが実行待ち情報として実行待ち記憶部206に記憶されているとする。この場合、予想使用率算出部262は、ログイン認証の実行要求の単位時間のリソース使用率(1%)と、アクセス制御の実行要求の単位時間のリソース使用率(2%)とを実行条件記憶部204Aから取得する。
そして、予想使用率算出部262は、監視装置20の現在のリソース使用率と、実行待ちとなっているセキュリティ機能の単位時間のリソース使用率の合計とを加算することで、予想リソース使用率を算出する。具体的には、予想使用率算出部262は、監視装置20の現在のリソース使用率が25(%)である場合、ログイン認証の実行要求の単位時間のリソース使用率の合計(2×1%)と、アクセス制御の実行要求の単位時間のリソース使用率(1×2%)とから、予想リソース使用率を、25+2×1+1×2=29(%)と算出する。
次に、条件判定部222Bは、予想使用率算出部262により算出された予想リソース使用率が、ステップS801で条件取得部212により取得された実行条件情報に含まれる実行条件を満たすか否かを判定する(ステップS1703)。すなわち、条件判定部222Bは、リソースの予想使用率が、ログイン認証の実行条件である30%未満であるか否かを判定する。
ステップS1703において、条件判定部222Bにより実行条件を満たすと判定された場合、監視装置20は、ステップS803の処理を実行する。一方で、ステップS1703において、条件判定部222Bにより実行条件を満たさないと判定された場合、監視装置20は、ステップS804の処理を実行する。
そして、実行待ち管理部252は、上記のステップS1701で実行待ち記憶部206に記憶させた実行待ち情報を削除する(ステップS1704)。
これにより、本実施形態に係る制御システム1では、例えば、複数の端末装置10からセキュリティ機能の実行要求がなされており、リソースの予想使用率が高い場合には、新たなセキュリティ機能の実行を制限することができる。
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。