(58)【調査した分野】(Int.Cl.,DB名)
前記第1のセキュリティレベル設定部は、前記第1の制御システムを管理する管理装置からの指令にしたがって、前記第2の通信装置へ送信する送信パケットのセキュリティレベルを変更する、請求項1乃至4のいずれか1項に記載の制御システム間通信システム。
【発明を実施するための形態】
【0014】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【0015】
<実施例>
<制御システム間通信システム>
図1は、セキュリティゾーン毎に構築される制御システムの一実施例を示す。
図1には、セキュリティゾーンA100、及びセキュリティゾーンB200が示され、セキュリティゾーンA100には制御システムA102が構築され、セキュリティゾーンB200には制御システムB202が構築される。制御システムA102と、制御システムB202は、地理的に離れていることもある。各セキュリティゾーンに複数の制御システムが構築されてもよい。制御システムA100と制御システムB200は、光ファイバ、絶縁物及び保護物で被覆されている電線等の通信用ケーブル150で、インターネット等の通信ネットワーク50を介して、有線接続される。この通信ネットワーク50には、イーサネット(Ethernet)(登録商標)等の有線ローカルエリアネットワーク(LAN: Local Area Network)だけでなく、WiFi(Wireless Fidelity)や、Bluetooth(登録商標)等の無線による通信が行われる箇所があってもよい。
【0016】
<制御システムA102>
制御システムA102は、第1の監視・制御装置104、第1のPLC106、第2のPLC108、第1の通信装置110、第1の入出力装置112、第2の入出力装置114、第1のセンサ116、第2のセンサ120、第1のアクチュエータ118、及び第2のアクチュエータ122を備える。
【0017】
第1の監視・制御装置104、第1のPLC106、及び第2のPLC108は、第1の通信バス124によって接続されることによりLANを構成する。第1のPLC106、第2のPLC108、第1の通信装置110、第1の入出力装置112、及び第2の入出力装置114は、第2の通信バス126によって接続されることによりLANを構成する。第1の入出力装置112、第1のセンサ116、及び第1のアクチュエータ118は、第3の通信バス128によって接続されることによりLANを構成する。第2の入出力装置114、第2のセンサ120、及び第2のアクチュエータ122は、第4の通信バス130によって接続されることによりLANを構成する。
【0018】
第1のセンサ116、及び第2のセンサ120は、温度を測定する温度計や圧力を測定する圧力計、流量を測定する流量計、レベルセンサ等の制御対象の状態を観測する装置である。第1のセンサ116によって観測される制御対象の状態の観測値情報は第1の入出力装置112に入力され、第2のセンサ120によって観測される制御対象の状態の観測値情報は第2の入出力装置114に入力される。
【0019】
第1のアクチュエータ118は、第1の入出力装置112から入力される制御信号による指令によって制御対象に対する制御量を調節する。第2のアクチュエータ122は、第2の入出力装置114から入力される制御信号による指令によって制御対象に対する制御量を調節する。
【0020】
第1の入出力装置112は、第1のセンサ116から入力される観測値を第1のPLC106へ出力するとともに、第1のPLC106から入力される制御信号を第1のアクチュエータ118へ出力する。
【0021】
第1のPLC106は、第1の入出力装置112から入力される観測値情報に基づいて、第1のアクチュエータ118によって制御量が調整される制御対象に対する制御量を演算し、制御量情報を付帯した制御信号を作成する。例えば、第1のPLC106は、プラントのプロセスの挙動が目標値に一致するようにプラントの動きをオンラインで推定して、動的に制御を行うための制御量を演算する。第1のPLC106は、第1の入出力装置112に制御量情報を付帯した制御信号を出力する。また、第1のPLC106は、プラントのプロセスの状態や第1のセンサ116からの観測値情報に異常を検知した場合に第1の監視・制御装置104へ通知する。
【0022】
第2の入出力装置114は、第2のセンサ120から入力される観測値を第2のPLC108へ出力するとともに、第2のPLC108から入力される制御信号を第2のアクチュエータ122へ出力する。
【0023】
第2のPLC108は、第2の入出力装置114から入力される観測値情報に基づいて、第2のアクチュエータ122によって制御量が調整される制御対象に対する制御量を演算し、制御量情報を付帯した制御信号を作成する。例えば、第2のPLC108は、プラントのプロセスの挙動が目標値に一致するようにプラントの動きをオンラインで推定して、動的に制御を行うための制御量を演算する。第2のPLC108は、第2の入出力装置114に制御量情報を付帯した制御信号を出力する。また、第2のPLC108は、プラントのプロセスの状態や第2のセンサ120からの観測値情報に異常を検知した場合に第1の監視・制御装置104へ通知する。
【0024】
第1の監視・制御装置104は、第1のPLC106,及び第2のPLC108から異常が通知された場合に、オペレータに異常を通知する。また、第1の監視・制御装置104は、トレーサビリティの確保や、問題が生じた場合の解析のために、過去のデータを蓄積する。
【0025】
第1の通信装置110は、制御システムB202の第2の通信装置210との間で通信を行う。
【0026】
<制御システムB202>
制御システムB202は、第2の監視・制御装置204、第3のPLC206、第4のPLC208、第2の通信装置210、第3の入出力装置212、第4の入出力装置214、第3のセンサ216、第4のセンサ220、第3のアクチュエータ218、及び第4のアクチュエータ222を備える。
【0027】
第2の監視・制御装置204、第3のPLC206、及び第4のPLC208は、第5の通信バス224によって接続されることによりLANを構成する。第3のPLC206、第4のPLC208、第2の通信装置210、第3の入出力装置212、及び第4の入出力装置214は、第6の通信バス226によって接続されることによりLANを構成する。第3の入出力装置212、第3のセンサ216、及び第3のアクチュエータ218は、第7の通信バス228によって接続されることによりLANを構成する。第4の入出力装置214、第4のセンサ220、及び第4のアクチュエータ222は、第8の通信バス230によって接続されることによりLANを構成する。
【0028】
第3のセンサ216、及び第4のセンサ220は、第1のセンサ116、及び第2のセンサ120と同様に、温度計や圧力計、流量計、レベルセンサ等の制御対象の状態を観測する装置である。第3のセンサ216によって観測される制御対象の状態の観測値情報は第3の入出力装置212に入力され、第4のセンサ220によって観測される制御対象の状態の観測値情報は第4の入出力装置214に入力される。
【0029】
第3のアクチュエータ218は、第3の入出力装置212から入力される制御信号による指令によって制御対象に対する制御量を調節する。第4のアクチュエータ222は、第4の入出力装置214から入力される制御信号による指令によって制御対象に対する制御量を調節する。
【0030】
第3の入出力装置212は、第3のセンサ216から入力される観測値を第3のPLC206へ出力するとともに、第3のPLC206から入力される制御信号を第3のアクチュエータ218へ出力する。
【0031】
第3のPLC206は、第3の入出力装置212から入力される観測値情報に基づいて、第3のアクチュエータ218によって制御量が調整される制御対象に対する制御量を演算し、制御量情報を付帯した制御信号を作成する。例えば、第3のPLC206は、プラントのプロセスの挙動が目標値に一致するようにプラントの動きをオンラインで推定して、動的に制御を行うための制御量を演算する。第3のPLC206は、第3の入出力装置212に制御量情報を付帯した制御信号を出力する。また、第3のPLC206は、プラントのプロセスの状態や第3のセンサ216からの観測値情報に異常を検知した場合に第2の監視・制御装置204へ通知する。
【0032】
第4の入出力装置214は、第4のセンサ220から入力される観測値を第4のPLC208へ出力するとともに、第4のPLC208から入力される制御信号を第4のアクチュエータ222へ出力する。
【0033】
第4のPLC208は、第4の入出力装置214から入力される観測値情報に基づいて、第4のアクチュエータ222によって制御量が調整される制御対象に対する制御量を演算し、制御量情報を付帯した制御信号を作成する。例えば、第4のPLC208は、プラントのプロセスの挙動が目標値に一致するようにプラントの動きをオンラインで推定して、動的に制御を行うための制御量を演算する。第4のPLC208は、第4の入出力装置214に制御量情報を付帯した制御信号を出力する。また、第4のPLC208は、プラントのプロセスの状態や第4のセンサ220からの観測値情報に異常を検知した場合に第2の監視・制御装置204へ通知する。
【0034】
第2の監視・制御装置204は、第3のPLC206、及び第4のPLC208から異常が通知された場合に、オペレータに異常を通知する。また、第2の監視・制御装置204は、トレーサビリティの確保や、問題が生じた場合の解析のために、過去のデータを蓄積する。
【0035】
第2の通信装置210は、制御システムA102の第1の通信装置110との間で通信を行う。
【0036】
さらに、通信ネットワーク50には、制御システムA102、及び制御システムB202を管理する管理装置(図示なし)が接続される。管理装置は、第1の通信装置110、及び第2の通信装置210へ、制御に関する初期値等のパラメータを変更する指令を付帯した送信パケットを送信する。
【0037】
以下、主に、第1の通信装置110、及び第2の通信装置210について説明する。
【0038】
図2は、第1の通信装置110のハードウエア構成の一実施例を示す。
【0039】
第1の通信装置110は、第1の通信I/F(interface)152、マイクロプロセッサ154、HDD(Hard disk drive)160、RAM(Random Access Memory)162、第2の通信I/F164、及び上記各構成要素を
図2に示されているように電気的に接続するためのアドレスバスやデータバス等のバスライン180を備える。
【0040】
第1の通信I/F152は、通信ネットワーク50を利用してデータ伝送をするためのインターフェースである。マイクロプロセッサ154は、CPU(Central Processing Unit)156、及びROM(Read Only Memory)158を備え、第1の通信装置110全体の動作を制御する。ROM158には、第1の通信装置110に設定されているセキュリティレベル情報が格納されている。
【0041】
HDD160は、IPL(Initial Program Loader)等のCPU156の駆動に用いられるプログラム、第1の通信装置用プログラム、セキュリティ設定テーブル、及びパケット分割数設定テーブル等の各種データが記憶されている。第1の通信装置用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディア等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。
【0042】
RAM162は、CPU156のワークエリアとして使用される。第2の通信I/F164は、第2の通信バス126を利用してデータ伝送をするためのインターフェースである。
【0043】
(セキュリティ設定テーブル)
図3は、セキュリティ設定テーブルの一例を示す。HDD160には、
図3に示されるようなセキュリティ設定テーブルが格納される。セキュリティ設定テーブルでは、セキュリティの強度を表すセキュリティレベルに対して、各セキュリティ対策の内容が紐付けられることにより関連付けられて管理される。セキュリティレベルは、外部から攻撃する者に応じて設定することができる。例えば、セキュリティレベルは、素人が誤ってセキュリティに関する事故を生じさせた場合、多少の知識を有する者が生じさせた場合、及び高い技術を有する者が悪意で生じさせた場合等を想定して設定することができる。セキュリティレベルが「1」から「4」と高くなるにしたがって、セキュリティの強度も高くなる。本実施例では、一例としてセキュリティレベルの数が4種類である場合について説明されるが、セキュリティレベルの数は2種類−3種類としてもよいし、5種類以上としてもよい。
【0044】
例えば、
図3に示されるセキュリティ設定テーブルにおいて、セキュリティレベルが「1」のセキュリティ対策の内容は「パスワード付き」でデータを送信することである。また、セキュリティレベルが「2」のセキュリティ対策の内容は「パスワード付き」で、且つ第1の暗号方式によって暗号処理を行ってデータを送信することである。また、セキュリティレベルが「3」のセキュリティ対策の内容は「パスワード付き」で、且つ第2の暗号方式によって暗号処理を行ってデータを送信することである。また、セキュリティレベルが「4」のセキュリティ対策の内容は「パスワード付き」で、且つ第2の暗号方式によって暗号処理を行ってデータを送信するとともに、電子署名を送信することである。第2の暗号方式は、その暗号強度が第1の暗号方式の暗号強度より高いものが設定される。例えば、第1の暗号方式は鍵長が128ビットであるAES(Advanced Encryption Standard)であり、第2の暗号方式は鍵長が256ビットであるAESである。
【0045】
また、暗号方式として、AES以外にも、DES(Data Encryption Standard)、Triple DES、FEAL(Fast Data Encipherment Algorithm)、IDEA(International Data Encryption Algorithm)、RC4(Rivest's Cipher 4)などの共通鍵暗号方式を適用できる。共通鍵暗号方式を適用する場合には、第1の通信装置110、及び第2の通信装置210間で共通鍵が管理される。
【0046】
また、暗号方式として、RSA(Rivest Shamir Adleman)、楕円曲線暗号、ElGamal、DSA(Digital Signature Algorithm)などの公開鍵暗号方式、PGP(Pretty Good Privacy)、S/MIME (Secure / Multipurpose Internet Mail Extensions)、SSL(Secure Sockets Layer)などのハイブリッド方式を適用できる。
【0047】
(パケット分割数設定テーブル)
図4は、パケット分割数設定テーブルの一例を示す。HDD160には、
図4に示されるようなパケット分割数設定テーブルが格納される。第1の通信装置110と、第2の通信装置210との間でセキュリティレベルが設定された後に、一方の通信装置において、セキュリティ対策を行った結果が、要求される性能を満足するか否かを検証するためのパケット(以下、「性能検証用パケット」という)が作成され、暗号化されて、他方の通信装置へ送信される。他方の通信装置では、性能検証用パケットが受信され、復号されて、性能検証用パケットの応答パケット(以下、「性能検証用応答パケット」という)が作成され、送信される。
【0048】
性能検証用パケットを送信した通信装置は、性能検証用パケットを暗号化するところ(暗号化するとき)から、暗号化した性能検証用パケットを送信し、性能検証用応答パケットを受信するまでのラウンドトリップタイム(Round-Trip Time: RTT)を計測することにより経過時間を求める。性能検証用パケットを送信した通信装置は、経過時間が予め設定される時間が短いか否かを判定することによって要求性能を満たしているか否かを判定し、要求性能を満たさない場合に、経過時間に応じて、パケットの分割数を設定する。このパケット分割数設定テーブルでは、経過時間に対して、パケットの分割数が紐付けられることにより関連づけられて管理される。基準となるデータサイズが予め用意され、性能検証用パケットを送信した通信装置は、その基準となるデータサイズによってパケットを分割する。
【0049】
例えば、
図4に示されるパケット分割数設定テーブルにおいて、経過時間tがt
1以下であるときは分割数は「1」とされる。ここで、経過時間t
1は、性能検証用パケットについて要求性能を満たすと判定される経過時間の上限である。また、経過時間tがt
1より長く、t
2以下であるときは分割数は「2」とされる。また、経過時間tがt
2より長く、t
3以下であるときは分割数は「3」とされる。また、経過時間tがt
3より長く、t
4以下であるときは分割数は「4」とされる。t
2、t
3、及びt
4は、紐付けられた分割数で分割してパケットが送信された場合に、要求性能を満たすように予め設定される。
図4に示されるのは、性能検証用パケットについてのものであり、性能検証用パケット以外のパケットについてもそれぞれパケット分割数設定テーブルが用意される。
【0051】
また、第2の通信装置210は、第1の通信装置110と同様のハードウェア構成を有しているため、その説明を省略する。但し、ROM158には、第2の通信装置210に設定されているセキュリティレベル情報が格納されている。さらに、HDD160には、IPL等のCPU156の駆動に用いられるプログラム、第2の通信装置用プログラム、及びセキュリティ設定テーブル等の各種データが記憶されている。この場合も、第2の通信装置用プログラムは、インストール可能な形式又は実行可能な形式のファイルで、記録メディアやCD−ROM等のコンピュータで読み取り可能な記録媒体に記録して流通させるようにしてもよい。第2の通信I/F164は、第6の通信バス226を利用してデータ伝送をするためのインターフェースである。
【0052】
<実施例の機能構成>
図5は、制御システムA102を構成する第1の通信装置110、及び制御システムB202を構成する第2の通信装置210の機能ブロック図である。
図5では、第1の通信装置110、及び第2の通信装置210が、通信ネットワーク50を介してデータ通信することができるように接続されている。また、
図1に示されている第1の通信装置110、及び第2の通信装置210以外の装置は、データ通信において直接関係ないため、
図5では省略されている。
【0053】
<第1の通信装置110の機能構成>
第1の通信装置110、及び第2の通信装置210の機能構成を説明する前提として、第1の通信装置110から第2の通信装置210へ接続要求を行う場合について説明する。第2の通信装置210から第1の通信装置110へ接続要求を行う場合についても、第1の通信装置110と第2の通信装置210との間で読み替えることにより適用できる。つまり、第1の通信装置110は第2の通信装置210の機能として説明する機能も有し、第2の通信装置210は第1の通信装置110の機能として説明する機能も有する。
【0054】
第1の通信装置110は、送受信部1102、セキュリティレベル設定部1104、認証部1106、暗号化・復号処理部1108、要求性能判定部1110、送信パケット処理部1112、及び受信パケット処理部1114を有している。これら各部は、
図2に示されている各構成要素のいずれかが、HDD160からRAM162上に展開された第1の通信装置用プログラムにしたがったCPU156からの命令によって動作することで実現される機能、又は機能される手段である。
【0055】
(第1の通信装置110の各機能構成)
次に、
図2及び
図5を用いて、第1の通信装置110の各機能構成について詳細に説明する。なお、以下では、第1の通信装置110の各機能構成部を説明するにあたって、
図5に示されている各構成要素のうち、第1の通信装置110の各機能構成部を実現させるための主な構成要素との関係も説明する。
【0056】
図5に示されている第1の通信装置110の送受信部1102は、
図2に示されているCPU156からの命令、
図2に示されている第1の通信I/F152及び第2の通信I/F164によって実現され、通信ネットワーク50を介して、制御システムA102以外の他の制御システムの通信装置(
図5に示される例では、「第2の通信装置210」)と各種データの送受信を行う。送受信部1102は、第2の通信装置と通信を行うのに先だって、第2の通信装置210から送信される認証を要求する旨を示す認証要求情報を認証部1106へ入力するとともに、認証部1106から入力されるIDコード及びパスワードを第2の通信装置210へ送信する。
【0057】
また、第2の通信装置210によって、第1の通信装置110が第2の通信装置210に接続できる権限を有していることが確認され、通信を開始する際に、送受信部1102は、第1の通信装置110に設定されているセキュリティレベル情報を送信するとともに、第2の通信装置210から送信される、第2の通信装置210によって選択されたセキュリティレベル情報を受信し、セキュリティレベル設定部1104へ入力する。なお、セキュリティレベル情報は、
図3に示されているセキュリティレベル「1」−「4」のいずれかである。
【0058】
また、送受信部1102は、要求性能判定部1110で作成され、暗号化・復号処理部1108で暗号化等のセキュリティ対策処理が行われた性能検証用パケットを第2の通信装置210へ送信する。
【0059】
セキュリティレベル設定部1104は、
図2に示されているCPU156からの命令によって実現され、送受信部1102によって受信された第2の通信装置210によって選択されたセキュリティレベル情報を設定する。例えば、セキュリティレベル設定部1104は、HDD160に格納されているセキュリティ設定テーブルを参照し、送受信部1102で受信されたセキュリティレベル情報によって表されるセキュリティレベルに紐付けられたセキュリティ対策の内容を、暗号化・復号処理部1108に設定する。
【0060】
セキュリティレベル設定部1104は、第2の通信装置210によって、電子署名を付与するセキュリティレベル(セキュリティレベル4)が選択された場合、第2の通信装置210からセキュリティレベル情報とともに、デジタル証明書を取得する。セキュリティレベル設定部1104は、デジタル証明書に付帯される認証局の署名を認証局の公開鍵で復号できるか否かを確認することによって、デジタル証明書が本物であるか否かを確認する。デジタル証明書に付帯される認証局の署名を認証局の公開鍵で復号できることにより、デジタル証明書が正当であると確認できる。セキュリティレベル設定部1104は、デジタル証明書が本物であることを確認できた場合に、暗号鍵の基本となる乱数を発生させ、該乱数をデジタル証明書に付帯される第2の通信装置210の公開鍵で暗号化し、第2の通信装置210へ送受信部1102から送信する。セキュリティレベル設定部1104は、鍵を生成するとともに、該鍵から共通鍵を生成し、暗号化・復号処理部1108に設定する。
【0061】
認証部1106は、
図2に示されているCPU156からの命令によって実現され、送受信部1102によって受信される認証を要求する旨を示す認証要求情報に対して、第1の通信装置110に設定されているIDコードとパスワードを送受信部1102から送信する。ここで、IDコードは、第1の通信装置110を一意に識別するために使われる言語、文字、記号、又は各種のしるし等の識別情報を示す。また、IDコードは、言語、文字、記号、及び各種のしるしのうち、少なくとも2つが組み合わされた識別情報であってもよい。ここでは、パスワード認証を適用する場合について説明するが、認証方式として、チャレンジレスポンス認証、ワンタイムパスワードなどを適用することもできる。
【0062】
暗号化・復号処理部1108は、
図2に示されているCPU156からの命令によって実現され、セキュリティレベル設定部1104にセキュリティ対策の内容が設定されたのを契機として、要求性能判定部1110から入力される性能検証用パケットを暗号化することによってセキュリティ処理部として機能し、暗号化した性能検証用パケットを送受信部1102へ入力する。送受信部1102は、暗号化・復号処理部1108から入力された暗号化された性能検証用パケットを第1の通信I/F152から送信する。第1の通信I/F152から送信された暗号化された性能検証用パケットは、通信ネットワーク50を介して、第2の通信装置210へ送信される。第2の通信装置210は、暗号化された性能検証用パケットを復号し、性能検証用パケットに対する性能検証用応答パケットを作成し、第1の通信装置110へ送信する。
【0063】
要求性能判定部1110は、
図2に示されているCPU156からの命令によって実現され、セキュリティレベル設定部1104にセキュリティ対策の内容が設定されたのを契機として、セキュリティレベル設定部1104に設定されたセキュリティ対策の内容が第1の通信装置110及び第2の通信装置210との間で要求される性能を満足するか否かを検証するための性能検証データが付帯された性能検証用パケットを作成し、暗号化・復号処理部1108へ入力する。
【0064】
さらに、要求性能判定部1110は、暗号化・復号処理部1108によって性能検証用パケットを暗号化するところから、送受信部1102によって暗号化された性能検証用パケットを送信し、送受信部1102によって性能検証用応答パケットを受信するまでのラウンドトリップタイムを計測することによって経過時間を求め、経過時間が予め設定される時間より短いか否かを判定することによって要求性能を満たしているか否かを判定する。要求性能判定部1110は、経過時間が要求性能を満たしている場合には、送信パケット処理部1112へ、送信データを分割しないで、送信パケットを作成してよいこと、つまり送信データの分割数が「1」であることを通知する。一方、要求性能判定部1110は、経過時間が要求性能を満たしていない場合には、HDD160に格納されているパケット分割数設定テーブルを参照し、経過時間に基づいて送信データの分割数を求め、送信パケット処理部1112へ、送信データの分割数を通知する。
【0065】
送信パケット処理部1112は、
図2に示されているCPU156からの命令によって実現され、要求性能判定部1110から通知される送信データの分割数にしたがって、基準となるデータサイズによって第2の通信装置210へ送信する送信データを分割し、分割した送信データとともに、分割した送信データの順番を表すシーケンス番号を付帯した送信パケットを作成する。送信パケット処理部1112は、第2の通信装置210へ送信する送信パケットを送受信部1102に入力する。また、送信パケット処理部1112は、第1の通信装置110から送信される送信パケットに対する肯定応答(ACK)又は否定応答(NACK)に応じて、再送処理を行う。
【0066】
受信パケット処理部1114は、
図2に示されているCPU156からの命令によって実現され、第2の通信装置210から送信される送信パケットに対する肯定応答(ACK)又は否定応答(NACK)を作成し、送受信部1102から送信する。
【0067】
<第2の通信装置210の機能構成>
第2の通信装置210は、送受信部2102、セキュリティレベル設定部2104、認証部2106、暗号化・復号処理部2108、要求性能判定部2110、送信パケット処理部2112、及び受信パケット処理部2114を有している。これら各部は、
図2に示されている各構成要素のいずれかが、HDD160からRAM162上に展開された第2の通信装置用プログラムにしたがったCPU156からの命令によって動作することで実現される機能、又は機能される手段である。
【0068】
(第2の通信装置210の各機能構成)
次に、
図2及び
図5を用いて、第2の通信装置210の各機能構成について詳細に説明する。なお、以下では、第2の通信装置210の各機能構成部を説明するにあたって、
図5に示されている各構成要素のうち、第2の通信装置210の各機能構成部を実現させるための主な構成要素との関係も説明する。
【0069】
図5に示されている第2の通信装置210の送受信部2102は、
図2に示されているCPU156からの命令、
図2に示されている第1の通信I/F152、及び第2の通信I/F164によって実現され、通信ネットワーク50を介して、制御システムB202以外の他の制御システムの通信装置(
図5に示される例では、「第1の通信装置110」)と各種データの送受信を行う。送受信部2102は、第1の通信装置と通信を行うのに先だって、第1の通信装置110から接続が要求された場合に、第1の通信装置110へ認証を要求する旨を示す認証要求情報を送信するとともに、第1の通信装置110から送信されるIDコード及びパスワードを認証部2106へ入力する。
【0070】
また、送受信部2102は、第1の通信装置110から送信されるセキュリティ対策処理が行われた性能検証用パケットを受信する。
【0071】
また、第2の通信装置210によって、第1の通信装置110が第2の通信装置210に接続できる権限を有していることが確認され、通信を開始する際に、送受信部2102は、第1の通信装置110から送信されるセキュリティレベル情報を受信するとともに、セキュリティレベル設定部2104によって選択されるセキュリティレベル情報を送信する。なお、セキュリティレベル情報は、
図3に示されているセキュリティレベル「1」−「4」のいずれかである。
【0072】
また、送受信部2102は、第1の通信装置110から送信される送信パケットを第2の通信I/F164から第3のPLC206、及び第4のPLC208の一方又は両方へ入力する。
【0073】
セキュリティレベル設定部2104は、
図2に示されているCPU156からの命令によって実現され、送受信部2102によって受信された第1の通信装置110のセキュリティレベル情報と第2の通信装置210に設定されているセキュリティレベルに基づいて、第1の通信装置110との間で通信を行う際に使用するセキュリティレベルを選択し、設定する。具体的には、セキュリティレベル設定部2104は、第1の通信装置110のセキュリティレベル、及び第2の通信装置210に設定されているセキュリティレベルを比較し、高い方のセキュリティレベルを選択し、設定する。さらに、セキュリティレベル設定部2104は、HDD160に格納されているセキュリティ設定テーブルを参照し、選択したセキュリティレベル情報により表されるセキュリティレベルに紐付けられたセキュリティ対策の内容を暗号化・復号処理部2108に設定する。
【0074】
セキュリティレベル設定部2104は、電子署名を付与するセキュリティレベル(セキュリティレベル4)を選択した場合、認証局(CA Certificate Authority)に登録申請を行い、認証局からデジタル証明書を取得する。これにより、第2の通信装置210は認証され、公開鍵の正当性を証明することができる。セキュリティレベル設定部2104は、デジタル証明書を取得すると、第1の通信装置110へ、そのデジタル証明書を送信する。セキュリティレベル設定部2104は、第1の通信装置110から送信された暗号化された乱数を第2の通信装置210の秘密鍵で復号する。セキュリティレベル設定部2104は、鍵を生成し、該鍵から共通鍵を生成し、暗号化・復号処理部2108に設定する。
【0075】
認証部2106は、
図2に示されているCPU156からの命令によって実現され、送受信部2102から入力される第1の通信装置110に設定されているIDコード及びパスワードの組み合わせが、予め登録されている組み合わせと比較することによって、第1の通信装置110が第2の通信装置210と接続できる権限を有していることを確認する。認証部2106は、第1の通信装置110が第2の通信装置210と接続できる権限を有していることを確認できない場合には、その旨を通知する。
【0076】
暗号化・復号処理部2108は、
図2に示されているCPU156からの命令によって実現され、セキュリティレベル設定部2104にセキュリティ対策の内容が設定されたのを契機として、第1の通信装置110から送信され、送受信部2102から入力される性能検証用パケットを復号することによってセキュリティ処理部として機能し、復号した性能検証用パケットを要求性能判定部2110へ入力する。
【0077】
要求性能判定部2110は、
図2に示されているCPU156からの命令によって実現され、セキュリティレベル設定部2104にセキュリティ対策の内容が設定されたのを契機として、暗号化・復号処理部2108から復号された性能検証用パケットが入力された場合に、受信パケット処理部2114にその性能検証用パケットに対する応答である性能検証用応答パケットを作成させ、送受信部2102へ入力させる。送受信部2102は、受信パケット処理部2114から入力された性能検証用応答パケットを第1の通信I/F152から送信する。第1の通信I/F152から送信された暗号化された性能検証用パケットは、通信ネットワーク50を介して、第1の通信装置110へ送信される。
【0078】
送信パケット処理部2112は、
図2に示されているCPU156からの命令によって実現され、第1の通信装置110へ送信する送信パケットを作成し、暗号化・復号処理部2108へ入力する。
【0079】
受信パケット処理部2114は、
図2に示されているCPU156からの命令によって実現され、暗号化・復号処理部2108から入力される復号された送信パケットから送信データを復元する。例えば、受信パケット処理部2114は、暗号化・復号処理部2108から入力される復号された送信パケットを、該送信パケットに付帯されるシーケンス番号にしたがって結合することにより、送信データを復元する。
【0080】
<第1の通信装置110、及び第2の通信装置210の動作>
図6−
図8は、第1の通信装置110、及び第2の通信装置210の動作の一実施例を示す。
【0081】
ステップS602では、第1の通信装置110と第2の通信装置210との間で接続処理が行われる。例えば、第1の通信装置110は第2の通信装置210へ接続要求を行い、第2の通信装置210の認証部2106は、第1の通信装置110へ認証を要求する旨を示す認証要求情報を送信する。第1の通信装置110の送受信部1102は、第2の通信装置へ認証要求情報に対する応答として、IDコード及びパスワードを送信する。第2の通信装置210の認証部2106は、第1の通信装置110から送信されたIDコード及びパスワードの組み合わせが、予め登録されている組み合わせと比較することによって、第1の通信装置110が第2の通信装置210と接続できる権限を有していることを確認する。
【0082】
ステップS604では、第1の通信装置110と第2の通信装置210との間で接続処理が行われた後、第1の通信装置110の送受信部1102は、第1の通信装置110のROM158に設定されているセキュリティレベル情報を送信する。
【0083】
ステップS606では、第2の通信装置210のセキュリティレベル設定部2104は、第1の通信装置110のセキュリティレベルと第2の通信装置210に設定されているセキュリティレベルに基づいて、第1の通信装置110との間で通信を行う際に使用するセキュリティレベルを選択し、設定する。具体的には、セキュリティレベル設定部2104は、第1の通信装置110のセキュリティレベル、及び第2の通信装置210に設定されているセキュリティレベルを比較し、高い方のセキュリティレベルを選択し、設定する。
【0084】
ステップS608では、第2の通信装置210の送受信部2102は、セキュリティレベル設定部2104によって選択されるセキュリティレベル情報を送信する。
【0085】
ステップS610では、第1の通信装置110のセキュリティレベル設定部1104は、HDD160に格納されているセキュリティ設定テーブルを参照し、送受信部1102によって受信された第2の通信装置210によって選択されたセキュリティレベル情報によって表されるセキュリティレベルに紐付けられたセキュリティ対策の内容を、暗号化・復号処理部1108に設定する。
【0086】
ステップS612では、第1の通信装置110の要求性能判定部1110は、セキュリティレベル設定部1104に設定されたセキュリティ対策の内容が第1の通信装置110及び第2の通信装置210との間で要求される性能を満足するか否かを検証するための性能検証用パケットを作成する。
【0087】
ステップS614では、第1の通信装置110の要求性能判定部1110は、性能検証用パケットを暗号化するところから、暗号化した性能検証用パケットを送信し、性能検証用応答パケットを受信するまでの経過時間の計測を開始する。
【0088】
ステップS616では、第1の通信装置110の暗号化・復号処理部1108は、要求性能判定部1110によって作成される性能検証用パケットに暗号化等のセキュリティ対策処理を行う。
【0089】
ステップS618では、第1の通信装置110の送受信部1102は、セキュリティ対策処理が行われた性能検証用パケットを第2の通信装置210へ送信する。
【0090】
ステップS620では、第2の通信装置210の暗号化・復号処理部2108は、第1の通信装置110から送信されたセキュリティ対策処理が行われた性能検証用パケットに対して、復号等のセキュリティ対策処理を行う。
【0091】
ステップS622では、第2の通信装置210の要求性能判定部2110は、性能検証用パケットに対する応答である性能検証用応答パケットを受信パケット処理部2114に作成させ、送受信部2102から送信させる。
【0092】
ステップS624では、第1の通信装置110の要求性能判定部2110は、送受信部1102において、第2の通信装置210から送信される性能検証用応答パケットが受信されると、経過時間の計測を終了する。
【0093】
ステップS626では、第1の通信装置110の要求性能判定部2110は、性能検証用パケットを暗号化するところから、暗号化した性能検証用パケットを送信し、性能検証用応答パケットを受信するまでの経過時間と要求性能とを比較する。
【0094】
ステップS628では、第1の通信装置110の要求性能判定部2110は、経過時間が要求性能を満たすか否かを判定する。これにより、セキュリティゾーン毎に構築される制御システム間で通信を行う際に設定されるセキュリティ対策が、要求性能を満たすか否かを判定できる。工場や、プラント等に設定されるセキュリティゾーンでは、短い周期で、リアルタイムで処理するため経過時間が重要となるため、要求性能の一実施例は経過時間とされる。しかし、経過時間に関わらず他の性能を要求性能とすることもできる。
【0095】
図7は、経過時間が要求性能を満たさない場合(ステップS628で「NO」)の処理を示す。
【0096】
ステップS702では、第1の通信装置110の送信パケット処理部1112は、送信データをN(Nは、N>1の整数)個に分割する。「N」は、
図4に示すパケット分割数設定テーブルにより求められる。ここで、送信データは、第1の通信装置110によって作成される制御対象を制御する際に使用する制御データや、性能検証データを使用できる。
【0097】
ステップS704では、第1の通信装置110の送信パケット処理部1112は、分割した送信データ、及び分割した送信データの順番を示すシーケンス番号を付帯した送信パケットを作成する。
【0098】
ステップS706では、第1の通信装置110の暗号化・復号処理部1108は、送信パケット処理部1112によって作成される送信パケットに暗号化等のセキュリティ対策処理を行う。
【0099】
ステップS708では、第1の通信装置110の送受信部1102は、セキュリティ対策処理が行われたN個の送信パケットのうち、最初の送信パケットを第2の通信装置210へ送信する。
【0100】
ステップS710では、第2の通信装置210の暗号化・復号処理部2108は、第1の通信装置110から送信されたセキュリティ対策処理が行われた最初の送信パケットに対して、復号等のセキュリティ対策処理を行う。
【0101】
ステップS712では、第2の通信装置210の受信パケット処理部2114は、最初の送信パケットに対する応答パケットを作成し、送受信部2102から送信する。
【0102】
以降、ステップS702によって分割された送信データの数に応じて、2番目から(N−1)番目の送信パケットについて、ステップS708−S712と同様の処理が行われる。
【0103】
ステップS714では、第1の通信装置110の送受信部1102は、セキュリティ対策処理が行われたN番目の送信パケットを第2の通信装置210へ送信する。
【0104】
ステップS716では、第2の通信装置210の暗号化・復号処理部2108は、第1の通信装置110から送信されたセキュリティ対策処理が行われたN番目の送信パケットに対して、復号等のセキュリティ対策処理を行う。
【0105】
ステップS718では、第2の通信装置210の受信パケット処理部2114は、N番目の送信パケットに対する応答パケットを作成し、送受信部2102から送信する。
【0106】
ステップS720では、第2の通信装置210の受信パケット処理部2114は、N個の送信パケットのそれぞれに付帯されるシーケンス番号に基づいて、送信データを結合する。これにより、第1の通信装置110から送信された送信データが復元される。第1の通信装置110から送信された送信データが復元できた場合に、第2の通信装置210の受信パケット処理部2114から、第1の通信装置110へ、送信データが復元できたことを表す応答を送信することもできる。これにより、経過時間が要求性能を満たさない場合であっても、送信データを分割して送信することにより、セキュリティゾーン毎に構築される制御システム間で通信を行う際に設定されるセキュリティ対策が、要求性能を満たすようにできる。
【0107】
図8は、経過時間が要求性能を満たす場合(ステップS628で「YES」)の処理を示す。
【0108】
ステップS802では、第1の通信装置110の送信パケット処理部1112は、送信データを付帯した送信パケットを作成する。
【0109】
ステップS804では、第1の通信装置110の暗号化・復号処理部1108は、送信パケット処理部1112によって作成される送信パケットに暗号化等のセキュリティ対策処理を行う。
【0110】
ステップS806では、第1の通信装置110の送受信部1102は、セキュリティ対策処理が行われた送信パケットを第2の通信装置210へ送信する。
【0111】
ステップS808では、第2の通信装置210の暗号化・復号処理部2108は、第1の通信装置110から送信されたセキュリティ対策処理が行われた送信パケットに対して、復号等のセキュリティ対策処理を行う。
【0112】
ステップS810では、第2の通信装置210の受信パケット処理部2114は、送信パケットに対する応答パケットを作成し、送受信部2102から送信する。
【0113】
制御システムの一実施例によれば、セキュリティゾーン毎に構築される制御システム間で通信を行う際に、セキュリティ対策を施すことができるとともに、施したセキュリティ対策が、要求性能を満たすか否かを判定できる。例えば、セキュリティ対策によっては、暗号化処理、復号処理、及び制御システム間の伝送速度の違いが経過時間に影響を及ぼすことがある。このような場合に、要求性能を満たすか否かを判定せずに制御システムが運用される場合、制御システムにおける製造品、精製品の品質や、生産性に影響を及ぼす。本実施例では、要求性能を満たすか否かを判定することにより、適切な対応を採ることができるため、生産停止、原因の究明、及び制御システムの改修を不要にでき、ロスコストを抑制できる。要求性能を満たすか否かを判定する処理は、運用の途中で実行することもできる。運用の途中で実行することにより、第1の通信装置から第2の通信装置へ送信する送信パケットのサイズが変化した場合でも適切に対応できる。
【0114】
また、制御システムの一実施例によれば、セキュリティゾーン毎に構築される制御システム間で通信を行う際に、設定したセキュリティ対策が要求性能を満たさない場合に、送信データを分割して送信することにより、設定されるセキュリティ対策が、要求性能を満たすようにできる。
【0115】
<変形例(その1)>
制御システムの一変形例では、第1の通信装置110は、制御システムB202に擬似的に処理を実行させ、その処理時間を含む経過時間に基づいて、要求性能を満たすか否かを判定する。
【0116】
第1の通信装置110、及び第2の通信装置210のハードウエア構成は、
図2を適用できる。
【0117】
(第1の通信装置110の各機能構成)
第1の通信装置110の要求性能判定部1110は、制御システムB202に実行させる擬似的な処理内容を表す性能検証データを付帯した性能検証用パケットを作成し、送受信部1102は、性能検証用パケットを第2の通信装置210へ送信する。
第2の通信装置210の要求性能判定部2110は、第1の通信装置110から送信された性能検証用パケットに付帯される性能検証データによって表される擬似的な処理内容にしたがって、制御システムB202の第3のPLC206、及び第4のPLC208の一方又は両方に擬似的な処理を実行させる。受信パケット処理部2114は、制御システムB202の第3のPLC206、及び第4のPLC208の一方又は両方から、擬似的な処理の結果を取得し、擬似的な処理の結果を付帯した応答パケットを作成し、送受信部2102から第1の通信装置110へ送信する。
【0118】
第1の通信装置110の要求性能判定部1110は、性能検証用パケットを暗号化するところから、暗号化した性能検証用パケットを送信し、擬似的な処理の結果を付帯した応答パケットを受信するまでのラウンドトリップタイムを計測することにより経過時間を求める。
【0119】
<第1の通信装置110、及び第2の通信装置210の動作>
図9は、第1の通信装置110、及び第2の通信装置210の動作の一変形例を示す。
【0120】
ステップS902−S910は、
図6を参照して説明したステップS602−S610を適用できる。
【0121】
ステップS912では、第1の通信装置110の要求性能判定部1110は、セキュリティレベル設定部1104に設定されたセキュリティ対策の内容が第1の通信装置110及び第2の通信装置210との間で要求される性能を満足するか否かを検証するための性能検証用パケットを作成する。ここで、性能検証用パケットには、擬似的な処理内容を表す性能検証データが付帯される。
【0122】
ステップS914−S920は、
図6を参照して説明したステップS614−S620を適用できる。
【0123】
ステップS922では、第2の通信装置210の要求性能判定部2110は、第1の通信装置110から送信される性能検証用パケットに付帯される性能検証データにしたがって、制御システムB202を構成する装置へ性能検証用パケットを転送する。
図9では、一例として、性能検証データが、第3のPLC206に擬似的に処理を実行させる指令である場合について示される。この場合、第2の通信装置210の送受信部2102は、第2の通信I/F164から性能検証用パケットを第3のPLC206へ入力する。
【0124】
ステップS924では、第3のPLC206は、第2の通信装置210から転送される性能検証用パケットに付帯される性能検証データにしたがって、所定の処理(擬似的な処理)を実行する。
【0125】
ステップS926では、第3のPLC206は、所定の処理の実行結果を第2の通信装置210へ送信する。
【0126】
ステップS928では、第2の通信装置210の要求性能判定部2110は、受信パケット処理部2114に第3のPLC206から送信される処理結果を取得させ、その処理結果を付帯した応答パケットを作成させ、送受信部2102に入力させる。送受信部2102は、第1の通信I/F152から応答パケットを送信する。
【0127】
ステップS930−S934は、
図6を参照して説明したステップS624−S628を適用できる。
【0128】
ステップS934において、経過時間が要求性能を満たさないと判定される場合には
図7を参照して説明した処理を適用でき、経過時間が要求性能を満たすと判定される場合には
図8を参照して説明した処理を適用できる。
【0129】
制御システムの一変形例によれば、セキュリティゾーン毎に構築される制御システム間で通信を行う際に、セキュリティ対策を施すことができるとともに、施したセキュリティ対策が、要求性能を満たすか否かを判定できる。例えば、セキュリティ対策によっては、暗号化処理、復号処理、及び制御システム間の伝送速度の違いとともに、PLC等の制御システムを構成する装置によって実行される処理が経過時間に影響を及ぼすことがある。このような場合に、要求性能を満たすか否かを判定せずに制御システムが運用される場合、制御システムにおける製造品、精製品の品質や、生産性に影響を及ぼす。本変形例では、制御システムを構成する装置によって実行される処理時間を含む経過時間に基づいて、要求性能を満たすか否かを判定することにより、適切な対応を採ることができる。
【0130】
<変形例(その2)>
制御システムの一変形例では、各セキュリティゾーンに、伝送するデータの種別毎にセキュリティレベルが設定される。
【0131】
第1の通信装置110、及び第2の通信装置210のハードウエア構成は、
図2を適用できる。ただし、第1の通信装置110のROM158、及び第2の通信装置210のROM158には、それぞれ、データ種別と、データ種別に対して設定されるセキュリティレベルが格納される。
【0132】
図10は、第1の通信装置110、及び第2の通信装置210のROM158に格納されるセキュリティレベルの一例を示す。
図10には、データ種別が「データα」のセキュリティレベルは「3」であり、データ種別が「データβ」のセキュリティレベルは「2」であることが示される。第1の通信装置110、及び第2の通信装置210で、セキュリティレベルの値は異なっている場合もある。例えば、データαは制御に関するパラメータの初期値等のパラメータであり、データβは通常のデータである。この場合、データαはデータβよりも高いセキュリティレベルが設定される。ここで、制御に関するパラメータの値は、管理装置からの指令によって変更される場合がある。データ種別は2種類に限らず3種類以上のデータ種別を用意することもできる。
【0133】
制御システムA102を構成する第1の通信装置110及び制御システムB202を構成する第2の通信装置210の機能ブロック図は、
図5を適用できる。
【0134】
<第1の通信装置110の機能構成>
第2の通信装置210によって、第1の通信装置110が第2の通信装置210に接続できる権限を有していることが確認され、通信を開始する際に、送受信部1102は、第1の通信装置110に設定されているセキュリティレベル情報を送信するとともに、第2の通信装置210から送信される、第2の通信装置210によって選択されたセキュリティレベル情報を受信し、セキュリティレベル設定部1104へ入力する。なお、セキュリティレベル情報は、
図10に示されているようにデータ種別とセキュリティレベル「1」−「4」のいずれかとの組み合わせである。
【0135】
セキュリティレベル設定部1104は、送受信部1102によって受信された第2の通信装置210によって選択されたセキュリティレベル情報を設定する。例えば、セキュリティレベル設定部1104は、HDD160に格納されているセキュリティ設定テーブルを参照し、送受信部1102で受信されたセキュリティレベル情報により表されるデータ種別毎のセキュリティレベルに紐付けられたセキュリティ対策の内容を、暗号化・復号処理部1108に設定する。
【0136】
暗号化・復号処理部1108は、セキュリティレベル設定部1104にデータ種別毎にセキュリティ対策の内容が設定されたのを契機として、要求性能判定部1110から入力される性能検証用パケットを暗号化し、送受信部1102へ入力する。送受信部1102は、暗号化・復号処理部1108から入力された暗号化された性能検証用パケットを第1の通信I/F152から送信する。第1の通信I/F152から送信された暗号化された性能検証用パケットは、通信ネットワーク50を介して、第2の通信装置210へ送信される。第2の通信装置210は、暗号化された性能検証用パケットを復号し、性能検証用パケットに対する応答である性能検証用応答パケットを作成し、第1の通信装置110へ送信する。
【0137】
要求性能判定部1110は、セキュリティレベル設定部1104にデータ種別毎にセキュリティ対策の内容が設定されたのを契機として、セキュリティレベル設定部1104に設定されたデータ種別毎のセキュリティ対策の内容が第1の通信装置110及び第2の通信装置210との間で要求される性能を満足するか否かを検証するための性能検証データが付帯された性能検証用パケットを作成し、暗号化・復号処理部1108へ入力する。
【0138】
さらに、要求性能判定部1110は、暗号化・復号処理部1108によって性能検証用パケットを暗号化するところから、送受信部1102によって暗号化された性能検証用パケットを送信し、送受信部1102によって性能検証用応答パケットを受信するまでのラウンドトリップタイムを計測することにより経過時間を求める。要求性能判定部1110は、経過時間が要求性能を満たしているか否かを判定する。要求性能判定部1110は、経過時間が要求性能を満たしている場合には、送信パケット処理部1112へ、送信データを分割しないで、送信パケットを作成してよいこと、つまり送信データの分割数が「1」であることを通知する。一方、要求性能判定部1110は、経過時間が要求性能を満たしていない場合には、HDD160に格納されているパケット分割数設定テーブルを参照し、送信データの分割数を求め、送信パケット処理部1112へ、送信データの分割数を通知する。
【0139】
<第2の通信装置210の機能構成>
送受信部2102は、第2の通信装置210によって、第1の通信装置110が第2の通信装置210に接続できる権限を有していることが確認され、通信を開始する際に、第1の通信装置110から送信されるセキュリティレベル情報を受信するとともに、セキュリティレベル設定部2104によって選択されるセキュリティレベル情報を送信する。なお、セキュリティレベル情報は、
図10に示されているようにデータ種別とセキュリティレベル「1」−「4」のいずれかとの組み合わせである。
【0140】
セキュリティレベル設定部2104は、送受信部2102によって受信された第1の通信装置110のデータ種別毎のセキュリティレベルと第2の通信装置210に設定されているデータ種別毎のセキュリティレベルに基づいて、第1の通信装置110との間で通信を行う際に使用するセキュリティレベルをデータ種別毎に選択し、設定する。具体的には、セキュリティレベル設定部2104は、第1の通信装置110のデータ種別毎のセキュリティレベル、及び第2の通信装置210に設定されているデータ種別毎のセキュリティレベルを比較し、高い方のセキュリティレベルをデータ種別毎に選択し、設定する。さらに、セキュリティレベル設定部2104は、HDD160に格納されているセキュリティ設定テーブルを参照し、選択したセキュリティレベル情報により表されるセキュリティレベルに紐付けられたセキュリティ対策の内容をデータ種別毎に暗号化・復号処理部2108に設定する。
【0141】
暗号化・復号処理部2108は、セキュリティレベル設定部2104にデータ種別毎にセキュリティ対策の内容が設定されたのを契機として、第1の通信装置110から送信され、送受信部1102から入力される性能検証用パケットを復号し、要求性能判定部1110へ入力する。
【0142】
<第1の通信装置110、及び第2の通信装置210の動作>
第1の通信装置110、及び第2の通信装置210の動作の一変形例は、
図6−
図8を適用できる。ただし、ステップS606では、第2の通信装置210のセキュリティレベル設定部2104は、第1の通信装置110のデータ種別毎のセキュリティレベル、及び第2の通信装置210に設定されているデータ種別毎のセキュリティレベルに基づいて、第1の通信装置110との間で通信を行う際に使用するセキュリティレベルをデータ種別毎に選択し、設定する。具体的には、セキュリティレベル設定部2104は、第1の通信装置110のデータ種別毎のセキュリティレベル、及び第2の通信装置210に設定されているデータ種別毎のセキュリティレベルを比較し、高い方のセキュリティレベルをデータ種別毎に選択し、設定する。
【0143】
ステップS610では、第1の通信装置110のセキュリティレベル設定部1104は、HDD160に格納されているセキュリティ設定テーブルを参照し、送受信部1102によって受信された第2の通信装置210によって選択されたセキュリティレベル情報によって表されるデータ種別毎のセキュリティレベルに紐付けられたセキュリティ対策の内容を、暗号化・復号処理部1108にデータ種別毎に設定する。
【0144】
本変形例において、PLC等の制御システムを構成する装置によって実行される処理時間も経過時間に含めて、要求性能を満たすか否かを判定することもできる。
【0145】
制御システムの一変形例によれば、データ種別毎にセキュリティレベルを設定できるため、より重要度の高いデータに対してセキュリティレベルを高くできる。このため、全てのデータに対して一律に同様のセキュリティレベルで処理する場合と比較して、暗号化、及び復号する処理負荷を低減できるため経過時間を短縮できる。
【0146】
<変形例(その3)>
制御システムの一変形例は、送信データのサイズが所定のサイズよりも大きい場合に、経過時間が要求性能を満たすか否かを判定する点で、上述した実施例、及び変形例とは異なる。
【0147】
第1の通信装置110、及び第2の通信装置210のハードウエア構成は、
図2を適用できる。
【0148】
<第1の通信装置110の機能構成>
送信パケット処理部1112は、セキュリティレベル設定部1104にセキュリティ対策の内容が設定されたのを契機として、第2の通信装置210へ送信する送信データのサイズが所定のサイズ(閾値)よりも大きいか否かを判定する。送信パケット処理部1112は、第2の通信装置210へ送信する送信データのサイズが所定のサイズよりも大きい場合に、送信データを付帯した送信パケットを作成し、要求性能判定部1110へ入力する。
【0149】
要求性能判定部1110は、セキュリティレベル設定部1104にセキュリティ対策の内容が設定されたのを契機として、送受信部1102から送信パケットが入力された場合に、送信パケットを暗号化するところから、暗号化した送信パケットを送信し、送信パケットに対する応答パケットを受信するまでのラウンドトリップタイムを計測することにより経過時間を求める。要求性能判定部1110は、経過時間が要求性能を満たしているか否かを判定する。要求性能判定部1110は、経過時間が要求性能を満たしている場合には、送信パケット処理部1112へ、送信データを分割しないで、送信パケットを作成してよいこと、つまり送信データの分割数が「1」であることを通知する。一方、要求性能判定部1110は、経過時間が要求性能を満たしていない場合には、HDD160に格納されているパケット分割数設定テーブルを参照し、送信データの分割数を求め、送信パケット処理部1112へ、送信データの分割数を通知する。
【0150】
<第2の通信装置210の機能構成>
暗号化・復号処理部2108は、セキュリティレベル設定部2104にセキュリティ対策の内容が設定されたのを契機として、第1の通信装置110から送信され、送受信部1102から入力される送信パケットを復号し、送信パケット処理部2112へ入力する。
【0151】
応答パケット処理部2114は、第1の通信装置110から送信される送信パケットに対する応答パケットを作成し、送受信部2102へ入力する。
【0152】
<第1の通信装置110、及び第2の通信装置210の動作>
図11は、第1の通信装置110、及び第2の通信装置210の動作の一変形例を示す。
【0153】
ステップS1102−S1110は、
図6を参照して説明したステップS602−S610を適用できる。
【0154】
ステップS1112では、第1の通信装置110の送信パケット処理部1112は、第2の通信装置210へ送信する送信データのサイズをチェックする。
【0155】
ステップS1114では、第1の通信装置110の送信パケット処理部1112は、第2の通信装置210へ送信する送信データのサイズが所定のサイズよりも大きいか否かを判定する。
【0156】
ステップS1116では、第2の通信装置210へ送信する送信データのサイズが所定のサイズよりも大きい場合、第1の通信装置110の送信パケット処理部1112は、送信データを付帯したパケットを作成する。
【0157】
ステップS1118では、第1の通信装置110の要求性能判定部1110は、送信パケットを暗号化するところから、暗号化した送信パケットを送信し、送信パケットに対する応答パケットを受信するまでの経過時間の計測を開始する。
【0158】
ステップS1120では、第1の通信装置110の暗号化・復号処理部1108は、送信パケット処理部1112によって作成される送信パケットに暗号化等のセキュリティ対策処理を行う。
【0159】
ステップS1122では、第1の通信装置110の送受信部1102は、セキュリティ対策処理が行われた送信パケットを第2の通信装置210へ送信する。
【0160】
ステップS1124では、第2の通信装置210の暗号化・復号処理部2108は、第1の通信装置110から送信された送信パケットに対して、復号等のセキュリティ対策処理を行う。
【0161】
ステップS1126では、第2の通信装置210の送信パケット処理部2112は、送信パケットに対する応答パケットを作成し、送受信部2102から送信する。
【0162】
ステップS1128では、第1の通信装置110の要求性能判定部2110は、送受信部1102において、第2の通信装置210から送信される応答パケットが受信されると、経過時間の計測を終了する。
【0163】
ステップS1130では、第1の通信装置110の要求性能判定部2110は、第1の通信装置110において、送信パケットを暗号化するところから、暗号化した送信パケットが送信され、応答パケットが受信されるまでの経過時間と要求性能とを比較する。
【0164】
ステップS1132では、第1の通信装置110の要求性能判定部2110は、経過時間が要求性能を満たすか否かを判定する。これにより、セキュリティゾーン毎に構築される制御システム間で通信を行う際に設定されるセキュリティ対策が、要求性能を満たすか否かを判定できる。工場や、プラント等に設定されるセキュリティゾーンでは、短い周期で、リアルタイムで処理するため経過時間が重要となるため、要求性能の一変形例は経過時間とされる。しかし、経過時間に関わらず他の性能を要求性能として、セキュリティゾーン毎に構築される制御システム間で通信を行う際に設定されるセキュリティ対策が、要求性能を満たすか否かを判定することもできる。
【0165】
ステップS1114において送信データのサイズが所定のサイズ以下であると判定される場合、及びステップS1132において、経過時間が要求性能を満たすと判定される場合には、
図8を参照して説明した処理を適用できる。
【0166】
ステップS1132において、経過時間が要求性能を満たさないと判定される場合には、
図7を参照して説明した処理を適用できる。
【0167】
また、ステップS1114において第2の通信装置210へ送信する送信データのサイズが所定のサイズよりも大きい場合、経過時間が要求性能を満たすか否かを判定せずに、
図7を参照して説明した処理へ以降してもよい。
【0168】
本変形例において、PLC等の制御システムを構成する装置によって実行される処理時間も経過時間に含めて、要求性能を満たすか否かを判定することもできる。
【0169】
制御システムの一変形例によれば、送信データのサイズが所定のサイズよりも大きい場合に、経過時間が要求性能を満たすか否かを判定するようにしたので、経過時間が要求性能を満たすか否かを判断する処理の回数を減少させることができる。これにより、第1の通信装置110、及び第2の通信装置210の処理負荷を低減できるとともに、処理に要する時間を削減できる。
【0170】
<変形例(その4)>
制御システムの一変形例は、経過時間が要求性能を満たさない場合の処理が上述した実施例、及び変形例と異なる。
【0171】
第1の通信装置110の要求性能判定部1110は、セキュリティレベル設定部1104にセキュリティ対策の内容が設定されたのを契機として、セキュリティレベル設定部1104に設定されたセキュリティ対策の内容が第1の通信装置110及び第2の通信装置210との間で要求される性能を満足するか否かを検証するための性能検証用パケットを作成し、暗号化・復号処理部1108へ入力する。さらに、要求性能判定部1110は、送受信部1102から性能検証用応答パケットが入力された場合に、性能検証用パケットを暗号化するところから、暗号化した性能検証用パケットを送信し、性能検証用応答パケットを受信するまでのラウンドトリップタイムを計測することにより経過時間を求める。要求性能判定部1110は、経過時間が要求性能を満たしているか否かを判定する。
【0172】
要求性能判定部1110は、経過時間が要求性能を満たしている場合には、送信パケット処理部1112へ、送信データを分割しないで、送信パケットを作成してよいこと、つまり送信データの分割数が「1」であることを通知する。一方、要求性能判定部1110は、経過時間が要求性能を満たしていない場合には、第1の監視・制御装置104へ、経過時間が要求性能を満たさないことを通知する。さらに、第2の監視・制御装置204へも、経過時間が要求性能を満たさないことを通知することができる。具体的には、要求性能判定部1110は、経過時間が要求性能を満たしていないことを示す情報を送受信部1102へ入力し、送受信部1102は、第1のPLC106及び第2のPLC108のいずれか一方又は両方を介して第1の監視・制御装置104へ送信する。さらに、送受信部1102は、第2の通信装置210を介して第2の監視・制御装置204へ送信することができる。
【0173】
図12は、経過時間が要求性能を満たさない場合の処理を示す。経過時間が要求性能を満たすか否かを判定するまでの処理は
図6を適用でき、経過時間が要求性能を満たす場合の処理は
図8を適用できる。
【0174】
ステップS1202では、第1の通信装置110の要求性能判定部1110は、経過時間が要求性能を満たしていない場合には、第1の監視・制御装置104へ、経過時間が要求性能を満たさないことを通知する。
【0175】
制御システムの処理によっては、経過時間が要求性能を満たしていない場合に、送信データを分割して送信することによって処理を継続するよりも、制御システムの処理状況を確認する方が好ましい場合がある。経過時間が要求性能を満たしていない場合に、第1の監視・制御装置104へ通知することにより、オペレータに経過時間が要求性能を満たしていないことを通知できるため、オペレータに適切な対応を促すことができる。
【0176】
以上、本発明は特定の実施例、及び変形例を参照しながら説明されてきたが、各実施例、及び変形例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例、及び変形例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。