特許第6806437号(P6806437)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許6806437安全な外部アクセスを有するプロセスプラントネットワーク
<>
  • 特許6806437-安全な外部アクセスを有するプロセスプラントネットワーク 図000002
  • 特許6806437-安全な外部アクセスを有するプロセスプラントネットワーク 図000003
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6806437
(24)【登録日】2020年12月8日
(45)【発行日】2021年1月6日
(54)【発明の名称】安全な外部アクセスを有するプロセスプラントネットワーク
(51)【国際特許分類】
   H04L 12/66 20060101AFI20201221BHJP
   G05B 19/042 20060101ALI20201221BHJP
   H04L 12/28 20060101ALI20201221BHJP
【FI】
   H04L12/66 B
   G05B19/042
   H04L12/28 100F
【請求項の数】26
【全頁数】18
(21)【出願番号】特願2015-227228(P2015-227228)
(22)【出願日】2015年11月20日
(65)【公開番号】特開2016-105591(P2016-105591A)
(43)【公開日】2016年6月9日
【審査請求日】2018年11月14日
(31)【優先権主張番号】14/549,909
(32)【優先日】2014年11月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー−ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】リー エー. ネイゼル
(72)【発明者】
【氏名】ダン エイチ. ウジン
【審査官】 森田 充功
(56)【参考文献】
【文献】 特開2013−162389(JP,A)
【文献】 米国特許出願公開第2014/0047107(US,A1)
【文献】 特表2009−538016(JP,A)
【文献】 大佐古 佳明 他,広域ネットワーク分散型系統制御システム,東芝レビュー,株式会社東芝,2008年 4月 1日,第63巻,No.4,p.10-13
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
G05B 19/042
H04L 12/28
(57)【特許請求の範囲】
【請求項1】
通信システムであって、
共に通信可能に接続された複数のプロセス制御デバイスを含むプロセス制御ネットワークと、
前記プロセス制御ネットワーク内に配置された外部データサーバと、
前記プロセス制御ネットワークの外側に配置された外部通信ネットワークと、
(i)前記プロセス制御ネットワークの外側に配置され且つ(ii)前記外部通信ネットワークの外側に配置され、前記外部データサーバと前記外部通信ネットワークとの間に通信可能に連結されたゲートウェイデバイスと、
1つ以上のデータビューに従ってデータを前記外部通信ネットワークに公表するように前記外部データサーバを構成するために、前記プロセス制御ネットワーク内のデバイス内のプロセッサ上で実行する、前記プロセス制御ネットワーク内の前記デバイス内のコンピュータメモリに保存された構成アプリケーションであって、前記1つ以上のデータビューのそれぞれが、公表されるプロセス制御データのセットを定義する、構成アプリケーションと、を備え、
前記外部データサーバは、前記ゲートウェイデバイス又は前記外部通信ネットワークからの読み取りコールに応答することができないように、構成される、
通信システム。
【請求項2】
前記構成アプリケーションが、1つ以上のデータビュー内の前記データを指定するデータビューファイルを含み、かつ前記データビューファイルを前記外部通信ネットワークに接続された前記ゲートウェイデバイスに公表するように前記外部データサーバを構成するために、前記プロセス制御ネットワーク内の前記デバイス内の前記プロセッサ上でさらに実行する、請求項1に記載の通信システム。
【請求項3】
前記外部データサーバが、
(a)前記ゲートウェイデバイスからの読み取りコールに応答することができない、
(b)前記ゲートウェイデバイスからの書き込みコールに応答することができない、または、
(c)前記ゲートウェイデバイスからの構成コールに応答することができない、請求項1または請求項2に記載の通信システム。
【請求項4】
前記1つ以上のデータビューのうちの1つが、
(a)前記プロセス制御ネットワーク内のもう1つのプロセスコントローラによって生成または収集されるプロセス制御データのセット、
(b)前記プロセス制御ネットワーク内のもう1つのフィールドデバイスによって生成または収集されるプロセス制御データ、
(c)前記プロセス制御ネットワーク内のさらなるデバイスのメモリに保存されたプロセス制御構成データ、及び
(d)前記プロセス制御ネットワーク内の1つ以上のプロセス制御デバイスに関する保守データ
の少なくとも1つを指定する、請求項1〜請求項3の何れか1項に記載の通信システム。
【請求項5】
前記構成アプリケーションが、前記1つ以上のデータビューに従ってデータを外部データサーバに定期的に公表するように構成するために実行する、請求項1〜請求項4の何れか1項に記載の通信システム。
【請求項6】
前記外部データサーバが、前記プロセス制御ネットワーク内のデバイスからのみ構成コマンドを受信し、それに従って行動するように構成される、請求項1〜請求項5の何れか1項に記載の通信システム。
【請求項7】
前記構成アプリケーションが、前記外部データサーバ内で保存及び実行される、請求項1〜請求項6の何れか1項に記載の通信システム。
【請求項8】
前記プロセス制御ネットワーク内に配置されたデータまたはイベントヒストリアンをさらに含み、前記外部データサーバが、前記1つ以上のデータビューによって定義された前記プロセス制御データのうちの一部を、前記データまたはイベントヒストリアンから取得する、請求項1〜請求項7の何れか1項に記載の通信システム。
【請求項9】
前記ゲートウェイデバイスがファイアウォールを含む、請求項1〜請求項8の何れか1項に記載の通信システム。
【請求項10】
前記ゲートウェイデバイスが、前記外部データサーバから受信された前記1つ以上のデータビューに従ってデータを前記外部通信ネットワーク上の1つ以上のクライアントアプリケーションに再公表するように構成される、請求項1〜請求項9の何れか1項に記載の通信システム。
【請求項11】
前記ゲートウェイデバイスが、前記外部データサーバに対して読み取りまたは書き込みまたは構成コールを実行することができない、請求項1〜請求項10の何れか1項に記載の通信システム。
【請求項12】
通信システムであって、
共に通信可能に接続された複数のプロセス制御デバイスを含むプロセス制御ネットワークと、
前記プロセス制御ネットワーク内に配置された外部データサーバと、
前記プロセス制御ネットワークの外側に配置された外部通信ネットワークと、
(i)前記プロセス制御ネットワークの外側に配置され且つ(ii)前記外部通信ネットワークの外側に配置され、前記外部データサーバと前記外部通信ネットワークとの間に通信可能に連結されたゲートウェイデバイスと、を備え、
前記外部データサーバは、前記ゲートウェイデバイス又は前記外部通信ネットワークからの読み取りコールに応答することができないように、構成され、
前記外部データサーバが、1つ以上のデータビューファイルを保存し、1つ以上のデータビューファイルに従ってデータを前記ゲートウェイデバイスに公表するために実行し、前記1つ以上のデータビューファイルのそれぞれが、公表される前記プロセス制御ネットワーク内からのプロセス制御データのセットを定義し、前記ゲートウェイデバイスが、前記外部データサーバからの公表を介して前記外部データサーバから受信されるデータを定義するさらなるデータビューファイルのセットを保存し、前記ゲートウェイデバイスが、前記さらなるデータビューファイルのセットを使用して、データを前記外部通信ネットワークに接続される1つ以上のクライアントアプリケーションに再公表するように構成される、通信システム。
【請求項13】
前記1つ以上のデータビューファイルを保存するように前記外部データサーバを構成するために実行する前記プロセス制御ネットワーク内のデバイス内に保存される構成アプリケーションをさらに含む、請求項12に記載の通信システム。
【請求項14】
前記ゲートウェイデバイスが、前記1つ以上のさらなるデータビューファイルを保存する、請求項12または請求項13に記載の通信システム。
【請求項15】
前記外部データサーバが、前記ゲートウェイデバイスからの読み取りまたは書き込みコールに応答することができないように構成され、前記外部データサーバが、前記プロセス制御ネットワーク内のソースからの構成コマンドにのみ応答するように構成される、請求項12〜請求項14の何れか1項に記載の通信システム。
【請求項16】
前記ゲートウェイデバイスが、前記外部データサーバと前記外部通信ネットワークとの間に配置されたファイアウォールを含む、請求項12〜請求項15の何れか1項に記載の通信システム。
【請求項17】
前記ゲートウェイデバイスが、前記外部データサーバに読み取りまたは書き込みコールを送信することができないように構成される、請求項12〜請求項16の何れか1項に記載の通信システム。
【請求項18】
前記外部データサーバが、前記プロセス制御ネットワークを介して、前記1つ以上のデータビューによって定義されたデータを取得するように構成される、請求項12〜請求項17の何れか1項に記載の通信システム。
【請求項19】
プロセス制御ネットワークからの情報を、前記プロセス制御ネットワーク内に連結された外部データサーバを有し、かつ(i)前記プロセス制御ネットワークの外側に配置され且つ(ii)外部通信ネットワークの外側に配置され、前記外部通信ネットワークに接続されたゲートウェイデバイスに通信可能に接続されたシステムにおいて、前記外部通信ネットワークに安全に提供する方法であって、
1つ以上のデータビューファイルを前記外部データサーバ内に保存することであって、各データビューファイルが、前記外部通信ネットワークに定期的に公表されるプロセス制御データのセットを指定する、保存することと、
データ公表信号を使用して前記ゲートウェイデバイスと通信するように前記外部データサーバを構成することと、
前記外部データサーバに、前記1つ以上のデータビューファイルによって指定されたプロセス制御データを前記ゲートウェイデバイスに自動的に公表させることと、
前記外部データサーバが、前記ゲートウェイデバイス又は前記外部通信ネットワークからの読み取り、書き込み、及び構成コマンドに応答することを防ぐことと、を含む、前記方法。
【請求項20】
前記ゲートウェイデバイスに、前記外部データサーバによって前記ゲートウェイデバイスに送信された前記プロセス制御データを前記外部通信ネットワーク上の1つ以上のクライアントアプリケーションに再公表させることと、
(a)データ公表信号を介して前記外部データサーバから受信され、かつ前記1つ以上のクライアントアプリケーションに再公表される前記プロセス制御データを定義する前記ゲートウェイデバイスにさらなるデータビューファイルを保存すること、及び(b)前記1つまたはクライアントデバイスに、前記ゲートウェイデバイスによって再公表された前記プロセス制御データにサブスクライブさせることの少なくとも1つを行うことと、
をさらに含む、請求項19に記載の前記方法。
【請求項21】
前記プロセス制御ネットワーク内のデバイス内に構成アプリケーションを保存することと、前記構成アプリケーションを使用して、前記1つ以上のデータビューファイルによって指定された前記プロセス制御データを公表するように前記外部データサーバを構成することと、
(a)前記プロセス制御データを1つ以上のクライアントアプリケーションに再公表するように前記ゲートウェイデバイスを構成すること、及び(b)前記構成アプリケーションを、前記外部データサーバとは異なる前記プロセス制御ネットワーク上のデバイス内に保存することの少なくとも1つを行うことと、
をさらに含む、請求項19または請求項20に記載の前記方法。
【請求項22】
前記外部データサーバに、前記1つ以上のデータビューファイルによって指定されたプロセス制御データを前記ゲートウェイデバイスに自動的に公表させることが、前記外部データサーバに、前記1つ以上のデータビューファイルによって指定された前記プロセス制御データを前記プロセス制御ネットワークから取得させ、かつ前記取得されたプロセス制御データを前記ゲートウェイデバイスに定期的に送信させることを含む、請求項19〜請求項21の何れか1項に記載の前記方法。
【請求項23】
前記プロセス制御ネットワーク内のデバイスから受信された構成コマンドを実施することしかできないように前記外部データサーバを構成することをさらに含む、請求項19〜請求項22の何れか1項に記載の前記方法。
【請求項24】
前記外部通信ネットワーク上の1つ以上のクライアントアプリケーションから受信されたコマンドに応答して、前記外部データサーバに対して読み取り及び書き込みコールを実施することができないように前記ゲートウェイデバイスを構成することをさらに含む、請求項19〜請求項23の何れか1項に記載の前記方法。
【請求項25】
プロセス制御ネットワークの外側のクライアントデバイスに前記プロセス制御ネットワークから通信を安全に提供するための通信システムであって、
前記プロセス制御ネットワーク内に配置された外部データサーバであって、前記プロセス制御ネットワークは、互いに通信可能に連結された複数のプロセス制御デバイスを含み、前記外部データサーバは、前記複数のプロセス制御デバイスにより生成されたプロセス制御データを公表するように、構成される、前記外部データサーバと、
(i)前記プロセス制御ネットワークの外側に配置され且つ(ii)外部通信ネットワークの外側に配置され、前記外部データサーバと前記クライアントデバイスとの間に通信可能に連結されたゲートウェイデバイスであって、前記外部データサーバにより公表された前記プロセス制御データの少なくとも幾つかは、前記外部データサーバを介して、前記クライアントデバイスに送信される、前記ゲートウェイデバイスと、
前記ゲートウェイデバイスが前記外部データサーバにコマンドを発行することを防ぐ第1の安全な機構と、前記クライアントデバイスが前記ゲートウェイデバイスにコマンドを発行することを防ぐ第2の安全な機構との少なくとも1つと、
を備える通信システム。
【請求項26】
プロセス制御ネットワークの外側のクライアントデバイスに前記プロセス制御ネットワークから通信を安全に提供するための方法であって、
前記プロセス制御ネットワークの複数のプロセス制御デバイスによりプロセス制御データを生成することと、
前記クライアントデバイスに前記プロセス制御データを公表することであって、ゲートウェイデバイスを介して外部データサーバにより前記プロセス制御データが公表され、前記ゲートウェイデバイスは、前記外部データサーバと前記クライアントデバイスとの間に通信可能に連結され、前記ゲートウェイデバイスは、(i)前記プロセス制御ネットワークの外側に配置され且つ(ii)外部通信ネットワークの外側に配置される、前記公表することと、
前記ゲートウェイデバイスが前記外部データサーバにコマンドを発行することを防ぐこと、又は、前記クライアントデバイスが前記ゲートウェイデバイスにコマンドを発行することを防ぐことと、
を備える方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、概して、プロセスプラント通信システムに関し、より具体的には、プロセスプラント制御及び保守システムの安全を確保しながら、これらのシステムからのデータへの外部アクセスを可能にすることに関する。
【背景技術】
【0002】
関連分野の説明
発電、化学、石油、または他の製造工程において使用されるもののような、分散型または拡張可能なプロセス制御システムなどのプロセス制御システムは、典型的には、互いに、プロセス制御ネットワークを介して少なくとも1つのホストまたはオペレータに、及びアナログ、デジタル、またはアナログ/デジタル複合型バスを介して1つ以上のフィールドデバイスに、通信可能に連結された1つ以上のコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、及びトランスミッタ(例えば、温度、圧力、及び流量センサ)であり得るフィールドデバイスは、バルブを開閉すること、デバイスのスイッチをオン及びオフにすること、ならびにプロセスパラメータを測定することなど、プロセスまたはプラント内で機能を実行する。コントローラは、フィールドデバイスによってなされたプロセスもしくはプラント測定を示す信号、及び/またはフィールドデバイスに付属する他の情報を受信し、この情報を使用して1つ以上の制御ルーチンを実施し、次いでプラントネットワークのバスまたは通信チャネルを介してフィールドデバイスに送信される制御信号を生成してプロセスもしくはプラントの操作を制御する。オペレータまたは保守員が、プラントの現状を見ること、プラントの操作を修正すること、デバイスを較正することなど、プロセスまたはプラントに関して任意の所望の機能を実行ことができるように、フィールドデバイス及びコントローラからの情報は、典型的には、オペレータワークステーションによって実行される1つ以上のアプリケーションに利用可能になる。
【0003】
操作中、典型的にはプロセスプラント環境内に位置するプロセスコントローラは、フィールドデバイスによりなされた、もしくはそれに関連するプロセス測定もしくはプロセス変数を示す信号、及び/またはフィールドデバイスに付属する他の情報を受信し、この情報を使用してコントローラアプリケーションを実行する。コントローラアプリケーションは、例えば、プロセス制御決定を行う様々な制御モジュールを実施し、受信した情報に基づいて制御信号を生成し、HART(登録商標)及びFOUNDATION(登録商標)Fieldbusフィールドデバイスなどのフィールドデバイス内の制御モジュールまたはブロックと連携する。プロセスコントローラ内の制御モジュールは、通信ラインまたは他の信号経路を介して制御信号をフィールドデバイスに送信し、それによってプロセスの操作を制御する。
【0004】
フィールドデバイス及びプロセスコントローラからの情報は、典型的には、プラント内もしくはプラント外部の1つ以上の他のハードウェアデバイス、例えば、オペレータワークステーション、保守ワークステーション、サーバ、パーソナルコンピュータ、携帯デバイス、データもしくはイベントヒストリアン、レポートジェネレータ、集中データベースなどに、1つ以上の安全なプロセス制御ネットワークを介して利用可能になる。プロセス制御ネットワークを介して通信される情報は、オペレータもしくは保守員が、プロセスに関して所望の機能を実行すること、及び/またはプラントの稼働を見ることを可能にする。例えば、制御情報は、オペレータが、プロセス制御ルーチンの設定を変更すること、プロセスコントローラまたはスマートフィールドデバイス内の制御モジュールの動作を修正すること、プロセスの現状またはプロセスプラント内の特定のデバイスの状態を見ること、フィールドデバイス及びプロセスコントローラによって生成されるアラーム及びまたはアラートを見ること、作業員の訓練またはプロセス制御ソフトウェアの試験の目的のためにプロセスの動作をシミュレーションすること、プロセスプラント内の問題またはハードウェア障害を診断すること、などを可能にする。
【0005】
フィールドデバイス及びコントローラは、通常、例えば、イーサネット構成のLANとして実装され得る1つ以上の安全なプロセス制御ネットワークを介して、他のハードウェアデバイスと通信する。プロセス制御ネットワークは、プロセスパラメータ、ネットワーク情報、及び他のプロセス制御データを、様々なネットワークデバイスを介して、プロセス制御システム内の様々なエンティティに送信する。典型的なネットワークデバイスとしては、ネットワークインターフェースカード、ネットワークスイッチ、ルータ、サーバ、ファイアウォール、コントローラ、及びオペレータワークステーションが挙げられる。ネットワークデバイスは、典型的には、ネットワークを介したデータのフローを、そのルーティング、フレームレート、タイムアウト、及び他のネットワークパラメータを制御することによって促進するが、プロセスデータ自体は変更しない。プロセス制御ネットワークのサイズ及び複雑性が大きくなると、それ相応にネットワークデバイスの数及び種類が増加する。システム及びネットワーク増大の結果として、これらの複合システム内のセキュリティ及びそれらの管理は、ますます困難になっている。しかしながら、手始めに、これらのネットワークは、一般的に他の外部ネットワークから孤立され、1つ以上のファイアウォールによって外部攻撃から守られる。
【0006】
実際、典型的な産業用制御システムにおいて、プラント制御システムワークステーション/サーバは、プラントに関連する様々な機能を実行する外部プラントネットワークと、制御システム内で制御及びデータ取得機能を実行する埋込型制御デバイス(例えば、コントローラ、PLC、RTU)との間に戦略的に置かれる。結果として、制御ワークステーション/サーバにとっての主要なセキュリティ目標は、マルウェアが制御システムに入り、埋込型デバイスに悪影響を与えることを防ぐこと、ならびに、マルウェアがプラントプロセス制御データベース内に保存された構成及び過去データを変更することを防ぐことである。依然としてさらに、これらのワークステーション/サーバは、プラント構成の権限のない変更、プラントデータへの権限のないアクセスなどを防ぐために、制御システムへの権限のないアクセスを防ぐ。ファイアウォール、「アンチウイルス」ソフトウェア、及び「ホワイトリスティング」などのいくつかのセキュリティ機能を使用して、これらのセキュリティ目標に対処することができるが、これらのセキュリティ機能は、典型的には、十分ではない。例えば、アンチウイルスソフトウェアは、「ゼロデイ」ウイルスから守ることができず、ホワイトリスティングは、権限のないアプリケーションの実行を防ぐだけである。加えて、これらのセキュリティ機能はプラントオペレータの活動を妨げる可能性を有するため、これらの機能のいくつかは、介入的すぎてプロセス制御システムにおいて実用的ではない。
【0007】
一般的には、ゼロデイ攻撃の中心にあるようなマルウェアは、典型的に、プロセス制御ネットワーク内のメモリデバイス、ネットワークポート、もしくはダイレクトデータリンクにアクセスする特権または承認を有するアプリケーションまたはサービスの操作によって、外部ネットワークへの承認された通信接続を介して安全な制御システムネットワークに持ち込まれる。その後、マルウェアは、他のデバイス(例えば、通信を介して)に伝播され、及び/または、マルウェアに感染したアプリケーションもしくはサービスのセキュリティ特権を使用してプロセス制御ネットワーク内のデバイス内で実行されることができる。加えて、マルウェアは、それ自体が局所的に生き残り、ネットワーク化されたデバイスの再起動後に再び実行されることを可能にし得る。場合によっては、マルウェアは、ホスト、例えば感染したアプリケーションまたはサービス、の特権を、アプリケーションまたはサービスが実行されているアカウントの特権を使用して拡大し得、そうすることで、マルウェアは、より高位の特権を要するプロセス制御デバイスまたはネットワーク内で行動または操作を実行することができ得、それ故に、典型的には、制御システム操作にとってより有害である。これらの攻撃がプラント制御システムの継続する動作を妨害するとき、これらの攻撃は、深刻かつ潜在的に破壊的な影響または致命的でさえある影響をプロセスプラント内に与え得る。
【0008】
したがって、プロセス制御ネットワークを他のプラントネットワークから孤立させてプロセス制御ネットワークの脆弱性を制限することが望ましいが、人員がプロセス制御ネットワークの外部のポイントから(すなわち、プロセス制御ネットワークを保護するファイアウォールの外側から)プロセスプラントデータまたはプロセス制御ネットワークデータにアクセスすることを可能にすることも望ましい、及び時に必要である。そのようなアクセスを可能にするために、プロセス制御システムは時に、プロセス制御システムデータなどを読み取り、そのデータを外部ネットワーク内のクライアントデバイスに送信するように、制御システムネットワーク内のプロセス制御デバイスにコールを出し得るプロセス制御ネットワークのファイアウォール内に配置された外部データアクセスサーバを有する。この外部データサーバは、プロセス制御ネットワークから所望の情報を取得するために、ファイアウォールを介して外部ネットワークからの外部データサーバとインターフェース接続する1つ以上のクライアントアプリケーションを介してアクセス可能であり得る。例として、OPC Foundationは、安全なプロセス制御ネットワーク内に位置し、かつそれに接続されるOPCサーバにアクセスするために、プロセス制御ネットワークファイアウォールの外側に位置するクライアントアプリケーションによって使用され得るプログラムインターフェースを定義する一連のOPC仕様を公表している。これらのインターフェースは、呼び出され得る方法、及びOPCクライアントとOPCサーバとの間で渡されるパラメータに関して定義される。これらのインターフェースは、典型的には、プラントのプロセス制御ネットワークのファイアウォール内のプロセス制御及び製造自動化システム内のランタイムならびに過去データ及びイベントに対する構成、閲覧、読み取り、書き込み、ならびにコールバックアクセスを提供する。
【0009】
プロセス制御または製造自動化システムと他の外部(または内部)プラントネットワークとの間の接続を安全にする必要性が高まっているのに伴い、プラント構造は、プラント制御ネットワークと他のプラントシステムとの間にDMZと称されるバッファゾーンをますます提供するようになっている。DMZは、典型的には、安全な様式で、プロセスプラントネットワーク内で、サーバ、例えばOPCサーバのような外部データサーバとインターフェース接続する任務を負う1つ以上のサーバまたはゲートウェイデバイスを含む。具体的には、これらのシステムにおいて、DMZの外側に位置するクライアントアプリケーションは、ユーザ認証などに基づいてOPCサーバへのアクセスを提供するDMZゲートウェイデバイスを介して、プロセス制御システムファイアウォール内に位置するOPCサーバにアクセスする。クライアントアプリケーションは、次いで、構成、閲覧、読み取り、書き込み、コールバックなどの要求を、DMZゲートウェイを介してOPCサーバに送信し、OPCサーバが、プラントネットワークまたは制御ネットワーク内のデータにアクセスし、そのデータまたは情報を、DMZゲートウェイを介してクライアントアプリケーションに送信するようにさせる。DMZの使用は、他のプラントまたは外部ワークステーションと制御システムデバイスとの間の直接接続を防ぐが、DMZがマルウェアに感染した場合、外部ネットワークからの制御システムへの直接的な接続性を提供することになり得、制御システムが侵害されるのを簡単にすることが経験から示されている。したがって、DMZは、マルウェア攻撃またはウイルスにさらされるとき、承認された接続を通じて、OPCサーバを、直接的にクライアントアプリケーションに、または他の外部デバイスに露出するように操作し得、それによってDMZゲートウェイデバイスにより提供されるファイアウォール保護を破り、プロセス制御ネットワークを攻撃または侵害にさらす。
【発明の概要】
【0010】
1つ以上のファイアウォールを介して、プロセス制御データを外部ネットワークに提供する外部データサーバを有するプロセス制御システムは、外部データサーバが、外部ネットワークに起因するウイルスもしくは他のセキュリティ攻撃によって侵害される能力を減少させるか、または排除する、費用効率の高い安全な機構を実現する。一般的に言うと、プロセス制御ネットワークセキュリティシステムは、プロセス制御ネットワークの外側に配置され、かつ外部ネットワークに接続されるDMZゲートウェイデバイスに通信可能に接続された外部データサーバ(プロセス制御ネットワーク内に位置する)を含む。外部データサーバを構成するために使用される構成エンジンは、プロセスプラントネットワークファイアウォール内に位置し、そのためプロセス制御ネットワークの内側から動作する。構成エンジンは、外部データサーバによってプロセス制御ネットワークから自動的に取得され、かつ外部データサーバによって様々な時点でDMZゲートウェイデバイスに公表されることとなるデータを定義する1つ以上のデータシート、データフォーム、またはデータビューを生成するように外部データサーバを構成する。構成エンジンはまた、公表されたデータビューを受信し、かつこれらのデータビューを、外部ネットワークを介してDMZゲートウェイデバイスに接続された1つ以上のクライアントまたはクライアントアプリケーションに再公表するようにDMZゲートウェイデバイスを構成する。
【0011】
構成された後、外部データサーバは、データシートまたはデータビューによって指定されたようにプラント内のデータにアクセスし、データシートまたはデータビュー内のデータをDMZゲートウェイデバイスに提供する。DMZゲートウェイデバイスは次いで、外部ネットワーク上の様々なクライアントアプリケーションと通信し、このクライアントアプリケーションは、DMZゲートウェイデバイスでデータシートまたはデータビューの様々なものにサブスクライブする。そうすることで、クライアントアプリケーションは、外部データサーバによってDMZゲートウェイデバイスに提供されるデータシートまたはデータビュー内のデータを自動的に受信するように動作する。クライアントアプリケーションは、DMZゲートウェイデバイス内の1つ以上のデータシートまたはデータビューをサブスクライブすることができるが、DMZゲートウェイデバイスは、クライアントアプリケーションからの閲覧、読み取り、書き込み、及び構成コールを無視するか、サポートしないように構成または実装される。さらには、外部データサーバもまた、DMZゲートウェイデバイスからの閲覧、読み取り、書き込み、及び構成コールを無視するか、サポートしないように構成または実装される。1つの事例では、外部データサーバのファイアウォール側での外部データサーバの読み取り、書き込み、及び構成ポートは、これらのポートを介した外部アクセスを防ぐために、ブロックまたはシャットダウンされる。このようにして、DMZゲートウェイデバイスは、プラント制御ネットワーク内から構成されるデータシートまたはデータビューに従って外部データサーバによって提供されるデータ以外は、外部データサーバを介してデータにアクセスすることはできない。結果として、たとえDMZゲートウェイデバイスがウイルス攻撃にさらされたり、または権限のない者によってアクセスされたとしても、DMZゲートウェイデバイスは、外部データサーバを介して制御システムに要求を出す直接的な能力を有しないので、ウイルスまたは権限のない者は、DMZゲートウェイデバイスを使用して外部データサーバを介して制御システムまたはプロセス制御ネットワークへのアクセスを得ることはできない。
【0012】
これらのセキュリティ機構の使用は、これらのセキュリティ機構が、感染したまたは侵害されたDMZゲートウェイデバイスが、外部データサーバを介してプロセス制御システムへのアクセスを得ること、及び感染したまたは侵害された外部クライアントアプリケーションがDMZゲートウェイデバイスへのアクセスを得ることを、不可能でないにしても、困難にするので、ゼロデイウイルス攻撃などのウイルス攻撃及び他のマルウェアの影響を受けにくいプロセス制御システムまたはプロセスプラント内のソフトウェア及び通信環境をもたらす。
【図面の簡単な説明】
【0013】
図1】1つ以上のオペレータ及び保守ワークステーション、サーバ、コントローラ、フィールドデバイスを含み、かつ外部ネットワークから制御システムへの安全な外部アクセスを提供するように構成された外部データサーバを含む、分散型プロセス制御システム及びプロセス自動化ネットワークを有するプロセスプラントの例示的な図である。
図2図1のものなどのプロセス制御ネットワーク内の外部データサーバと、DMZゲートウェイデバイスと、本明細書に記載される安全な構成を使用してDMZゲートウェイを介して外部データサーバからのデータにアクセスする1つ以上のクライアントデバイスとの間の通信接続の例示的なブロック図である。
【発明を実施するための形態】
【0014】
図1は、プロセス制御ネットワーク10(図1の点線内側に示される)及び1つ以上の他のプラントネットワーク(図1の点線外側に示される)を含む、プロセスプラント5の略図である。プロセス制御ネットワーク10は、例えば、本明細書に記載されるセキュリティ機能を実施してプロセス制御ネットワーク10内のプロセス制御システム情報への安全な外部アクセスを促進するために様々なコンピュータデバイスが使用され得る、プロセスプラント内に配置され得る。図1に例証されるように、プロセス制御ネットワーク10は、プロセス制御データバス9を介して、データまたはイベントヒストリアン12、及びそれぞれがディスプレイ画面14を有する1つ以上のホストワークステーションまたはコンピュータ13(パーソナルコンピュータ、ワークステーションなどの任意の種類であり得る)に接続されたプロセスコントローラ11を含む。データまたはイベントヒストリアン12は、データ保存のために、任意の所望の種類のメモリ、及び任意の所望もしくは既知のソフトウェア、ハードウェア、またはファームウェアを有する、任意の所望の種類のデータ収集ユニットであり得る。例えば、データバス9は、例えばイーサネット通信リンクとして実装されるローカルエリアネットワークなどの安全な通信ネットワークであり得る。コントローラ11もまた、入力/出力(I/O)カード26及び28、ならびにプロセス制御フィールドデバイスネットワーク、またはラインを介して、フィールドデバイス15〜22に接続される。コントローラ11は、図1内において、ハードワイヤード通信ネットワーク及び通信スキームを使用して、フィールドデバイス15〜22に通信可能に接続される。
【0015】
一般的に、フィールドデバイス15〜22は、センサ、バルブ、トランスミッタ、ポジショナなどの任意の種類の制御デバイスであり得、I/Oカード26及び28は、例えば、4−20maプロトコル、HART(登録商標)プロトコル、FOUNDATION(登録商標)フィールドバスプロトコルなどを含む、任意の所望の通信またはコントローラプロトコルに準拠する任意の種類のI/Oデバイスであり得る。コントローラ11は、メモリ24に保存される1つ以上のプロセス制御ルーチン(または、任意のモジュール、ブロック、もしくはそれらのサブルーチン)を実施または監督するプロセッサ23を含み、かつコントローラ11は、デバイス15〜22、ホストコンピュータ13、及びデータまたはイベントヒストリアン12と通信して、任意の所望の様式でプロセスを制御する。さらには、一例において、コントローラ11は、機能ブロックと一般に称されるものを使用して1つ以上の制御戦略またはスキームを実施し得、各機能ブロックは、プロセス制御ネットワーク10内にプロセス制御ループを実施するために他の機能ブロックと共に操作する(リンクと呼ばれる通信を介して)総制御ルーチンのオブジェクトまたは他の部分(例えば、サブルーチン)である。機能ブロックは、典型的には、トランスミッタ、センサ、もしくは他のプロセスパラメータ測定デバイスと関連するものなどの入力機能、PID、MPC、ファジーロジックなどを実行する制御ルーチンと関連するものなどの制御機能、制御技術、またはバルブなどのいくつかのデバイスの操作を制御する出力機能、のうちの1つを実行して、プロセス制御ネットワーク10を使用して実施されるプロセスプラントまたはプロセス制御システム内のいくつかの物理的機能を実行する。当然ながら、ハイブリッド及び他の種類の機能ブロックが存在し、図1のプロセスプラント例内で利用され得る。機能ブロックは、任意の所望または既知の様式で、コントローラ11または他のデバイス内に保存され得、かつそれらによって実行され得る。
【0016】
図1の分解図ブロック30によって例証されるように、コントローラ11は、制御ルーチン32及び34として例証されるいくつかの単一ループ制御ルーチンを含んでもよく、所望の場合、制御ループ36として例証される1つ以上の高度制御ループを実施してもよい。そのような制御ループはそれぞれ、典型的には、制御モジュールと称される。単一ループ制御ルーチン32及び34は、バルブなどのプロセス制御デバイス、温度及び圧力トランスミッタなどの測定デバイス、またはプロセス制御システム10内の任意の他のデバイスと関連し得る、適切なアナログ入力(AI)及びアナログ出力(AO)機能ブロックに接続された単一入力/単一出力ファジーロジック制御ブロック、及び単一入力/単一出力PID制御ブロックをそれぞれ使用して、単一ループ制御を実行するとして例証される。高度制御ループ36は、1つ以上のAI機能ブロックに通信可能に接続された入力、及び1つ以上のAO機能ブロックに通信可能に接続された出力を有する高度制御ブロック38を含むとして例証されるが、高度制御ブロック38の入力及び出力を任意の他の所望の機能ブロックまたは制御要素に接続して、他の種類の入力を受信、及び他の種類の制御出力を提供してもよい。高度制御ブロック38は、任意の種類の多重入力、多重出力制御スキームを実施してもよく、及び/または、プロセスモデルベースの制御ルーチンを実施してもよく、したがって、モデル予測制御(MPC)ブロック、ニューラルネットワークモデリングまたは制御ブロック、多変数ファジーロジック制御ブロック、リアルタイムオプティマイザブロックなどを構成し得るか、または含み得る。
【0017】
高度制御ブロック38を含む、図1に例証される機能ブロックは、スタンドアローンのコントローラ11によって実行され得ること、または代替的に、ワークステーション13のうちの1つ、もしくはフィールドデバイス19〜22のうちの1つなど、任意の他のプロセッシングデバイスもしくはプロセス制御システム10の制御要素内に位置し、それによって実行され得ることが理解されよう。例として、それぞれトランスミッタ及びバルブであり得るフィールドデバイス21及び22は、制御ルーチンを実施するための制御要素を実行し得、したがって、1つ以上の機能ブロックなど、制御ルーチンの部分を実行するためのプロセッシング、及び他の構成要素を含み得る。より具体的には、フィールドデバイス21は、図1に例証されるように、アナログ入力ブロックに関連するロジック及びデータを保存するためのメモリ39Aを有し得、フィールドデバイス22は、PID、MPC、またはアナログ出力(AO)ブロックと通信している他の制御ブロックに関連するロジック及びデータを保存するためのメモリ39Bを有するアクチュエータを含み得る。
【0018】
さらには、図1に例証される制御システム10は、コントローラ11に、及び可能性として互いに、無線で通信可能に連結された、いくつかのフィールドデバイス60〜64及び71を含む。図1に例証されるように、無線で接続されたフィールドデバイス60は、アンテナ65に通信可能に接続され、アンテナ74と無線で通信するように協同して、次いでアンテナ74は、コントローラ11に接続された無線I/Oデバイス68に連結される。さらには、フィールドデバイス61〜64は、有線‐無線変換ユニット66に接続され、有線‐無線変換ユニット66は次いで、アンテナ67に通信可能に接続される。フィールドデバイス61〜64は、さらなる無線I/Oデバイス70に接続されたアンテナ73と、アンテナ67を通じて無線で通信し、さらなる無線I/Oデバイス70はコントローラ11にも接続される。図1にさらに例証されるように、フィールドデバイス71は、アンテナ73及び74のうちの1つまたは両方と通信するアンテナ72を含み、それによってI/Oデバイス68及び/または70と通信する。I/Oデバイス68及び70は、次いで、有線バックプレーン接続(図1に示されない)を介して、コントローラ11に通信可能に接続される。この場合、フィールドデバイス15〜22は、I/Oデバイス26及び28を介して、コントローラ11にハードワイヤードされたままである。
【0019】
図1のプロセス制御システム10は、追加として、任意の所望の様式で、トランスミッタ60〜64、またはフィールドデバイス71などの他の制御要素によって、測定、感知、または計算されたデータの無線伝送を使用または組み込み得る。図1の制御システム10において、新しいプロセス変数測定値または他の信号値は、予定に従ってもしくは定期的に、または特定の条件が満たされたときなど、非定期的もしくは間欠的に、デバイス60〜64及び71によってコントローラ11に伝送され得る。例えば、新しいプロセス変数測定値は、プロセス変数値が、デバイスによりコントローラ11に送信された最後のプロセス変数測定値に対して所定量だけ変化するとき、または典型的にはコントローラ11のスキャン速度よりもだいぶ遅い予め定義された更新レートあたり少なくとも1回、コントローラ11に送信され得る。当然ながら、プロセス変数測定値を非定期的様式でいつ送信するかを決定する他の様式が、同様に、または代わりに実施され得る。
【0020】
理解されるように、図1のトランスミッタ60〜64のそれぞれは、それぞれのプロセス変数(例えば、フロー、圧力、温度、またはレベル信号)を示す信号も、1つ以上の制御ループもしくはルーチンにおける使用のため、または監視ルーチンにおける使用のためにコントローラ11に伝送し得る。フィールドデバイス71などの他の無線デバイスは、プロセス制御信号を無線で受信し得、かつ/または、任意の他のプロセスパラメータを示す他の信号を伝送するように構成され得る。図1の無線デバイスは、入力/出力デバイス68及び70を介してコントローラ11に接続されているとして例証されるが、それらは、代わりに、データバス9に接続されたゲートウェイを介して、または任意の他の様式で、コントローラ11または任意の他のコントローラに接続され得る。さらには、理解されるように、コントローラ11によって収集されたか、またはそれが利用可能になったデータのうちのいずれも、プロセス制御ネットワーク10に関連するデータバス9を介して、ワークステーション13及び/またはデータもしくはイベントヒストリアン12に利用可能になり得るか、それらに保存され得るか、それらによって使用され得る。
【0021】
図1に例証されるように、プロセス制御ネットワーク10は、データバス9に通信可能に接続され、かつそれ故にプロセス制御ネットワーク10内に配置された外部データサーバ100を含む。周知のOPCプロトコルまたは標準に準拠するOPCサーバであり得る外部データサーバ100は、1つ以上のDMZゲートウェイデバイス106を有するDMZを介して第2の通信ネットワーク102に接続される。第2の通信ネットワーク102は、例えば、TCP通信を実装するイーサネット通信接続などのさらなるプラントネットワークであり得るか、例えば、公衆またはオープンネットワークへのインターネット接続であり得るか、またはプロセス制御ネットワーク10から分離した任意の他の種類の外部通信もしくはコンピュータネットワークであり得る。
【0022】
外部データサーバ100に接続されたDMZゲートウェイデバイス106は、承認されたデータフローのみを許可する任意の種類のファイアウォールであり得、かつ介入セキュリティ機能などの他のセキュリティ機能も実行し得る1つ以上の内部または外部ファイアウォール108によって保護される。図1の例において、外部データサーバ100に接続されたDMZゲートウェイデバイス106は、外部データサーバ100に接続されたゲートウェイデバイス106の入力にバックエンドファイアウォール108、及びデータバス(または他の通信接続)102に接続されたゲートウェイデバイス106の入力にフロントエンドファイアウォール108を含む。当然ながら、バスまたは通信接続9及び102は、有線接続として例証されるが、これらの通信接続は、代わりに、または追加で、無線接続及び無線通信デバイス(例えば、無線イーサネット、WiFiインターネット接続など)、または有線及び無線両方の通信及びデバイスの組み合わせを使用して実現され得ることが理解されよう。依然としてさらに、図1に例証されるように、様々なクライアントデバイス112内で実行される複数のクライアントアプリケーション110は、DMZゲートウェイデバイス106に接続され得、かつDMZゲートウェイデバイス106と通信して安全な様式でプロセス制御ネットワーク10から情報を取得し得る。
【0023】
依然としてさらに、図1に例証されるように、構成アプリケーション(リソースマネージャとも呼ばれる)115は、プロセス制御ネットワーク10内のプロセッシングデバイスのうちの1つ、例えば、ワークステーション13のうちの1つ内に配置される。構成アプリケーション115は、コンピュータまたは持続性コンピュータ可読メモリ116に保存され、下により詳細に記載されるように、外部データサーバ100、及びある程度まではDMZゲートウェイデバイス106を構成するため、ワークステーション13のプロセッサ117上で実行される。
【0024】
一般的に言うと、動作中、外部データサーバ100は、プロセス制御ネットワーク10内のデバイスから(例えば、データまたはイベントヒストリアン12、コントローラ11、ワークステーション13、フィールドデバイス15〜22、60〜64、及び71などから)データバス9を介して情報を取得するように、プロセス制御ネットワーク10内から構成され、たとえDMZゲートウェイデバイス106が、ファイアウォール108を破るまたは侵害するマルウェアに攻撃されたとしても、この情報を外部ネットワーク102上のクライアントデバイス112内の1つ以上のクライアントアプリケーション110に安全な様式で提供する。一般的に言うと、外部データサーバ100とクライアントデバイス112内の1つ以上のクライアントアプリケーション110との間に安全な通信接続を実現するために、外部データサーバ100は、DMZゲートウェイデバイス106に事前設定された種類または量のプロセス制御データ(「データビュー」またはデータフォームとも呼ばれる)をプロセス制御ネットワーク10から、またはその中で取得されたデータと共に公表するように設定または構成される。この場合、データビュー内のデータは次いで、DMZゲートウェイデバイス106に保存され、DMZゲートウェイデバイス106によって、データビューのうちのいずれかまたは全てをサブスクライブし得るクライアントデバイス112内のクライアントアプリケーション110に提供される。さらには、この構成の一部として、外部データサーバ100は、事前に設定されたまたは事前に決められたデータビューに従って(によって定義されるように)データをDMZゲートウェイデバイス106に公表することのみでき、かつゲートウェイデバイス106から受信された読み取りもしくは書き込み要求(コマンド)を受容または実行すること、またはDMZゲートウェイデバイス106から構成されることができないように構成される。したがって、1つの事例では、外部データサーバ100の読み取り、書き込み、及び構成エンドポイントまたはポート(サーバ100のDMZゲートウェイ側)は、外部データサーバ100がDMZゲートウェイデバイス106によって提供される読み取り、書き込み、もしくは構成要求を受容する、またはそれに応答することができないように、無効にされる。重要なことには、外部データサーバ100のための構成アプリケーションまたは構成エンジン115は、外部データサーバ100自体、ワークステーション13のうちの1つ、またはプロセスプラントネットワーク10内に接続されている他のコンピュータもしくはサーバ内など、プロセス制御ネットワーク10内に位置する。したがって、外部データサーバ構成アプリケーション115は、プロセス制御ネットワーク10内のワークステーション13のうちの1つ内に位置しているとして図1に例証されるが、それは、代わりに、データバス9またはプロセス制御ネットワーク10内の他の接続を介して外部データサーバ100に接続された任意の他のプロセッシングデバイス内に位置し得る。このようにして、外部データサーバ100は、プロセス制御ネットワーク10内からのみ構成されることができる。
【0025】
さらなる例として、図2は、プロセス制御ネットワーク内に配置された構成アプリケーション215、外部データサーバ200(この場合はOPC.NETデータサーバであるとして例証される)、プロセス制御ネットワークの外側に配置された1つ以上のDMZゲートウェイデバイス206、及びこれもまたプロセス制御ネットワークの外側に配置されるが、外部通信ネットワークを介してDMZゲートウェイデバイス206に接続された1つ以上のクライアントデバイス内の1つ以上のクライアントアプリケーション210を使用して実現され得る通信フロー図を例証する。具体的には、図2のシステム例において例証されるように、図1の構成エンジン115であり得る構成エンジン215は、標準OPC.NETリソースマネージャまたは構成エンジンとして実装され、OPC.NETサーバとして例証される外部データサーバ200と共に、プロセッサ及びメモリを有するサーバデバイスなどの、プロセス制御ネットワーク内の同じコンピューティングまたはプロセッシングデバイス内に配置される。OPC.NETサーバ200は、クライアントデバイス内に実装されたOPC.NETクライアント210へのアクセスを提供する既製の標準OPC.NETサーバであり得る。そのようなサーバは、サーバ200へのTCP通信及びサーバ200からのTCP通信を制御するWCFエンドポイントとして本質的に実装されている、読み取りエンドポイント、書き込みエンドポイント、構成エンドポイント、及び公表エンドポイントを含む4つのポートまたは論理エンドポイントを有し得る。既知のように、読み取りエンドポイントは、読み取り要求を受容してプロセス制御ネットワーク10内で読み取りを実行し、書き込みエンドポイントは、書き込み要求を(例えばDMZゲートウェイデバイスから)受容してプロセス制御ネットワーク10内で書き込みを実行し、構成エンドポイントは、閲覧要求をサポートし、かつ外部データサーバ200がOPC.NETリソースマネージャ215などの構成エンジンによって構成されることも可能にし、公表エンドポイントは、外部データサーバ200が規則的または定期的または他の事前に構成された様式でデータを公表することを可能にする。当然ながら、読み取り、書き込み、構成、及び公表エンドポイントを、任意の所望の様式で、データサーバ200内で設定または確立することができ、例えば、要求、ポート、論理的または物理的エンドポイントなどとして実装することができる。しかしながら、図2のサーバ200では、読み取り及び書き込みエンドポイントは、サーバ200のオンサイト初期化(構成)を通じて(例えば、構成エンジン215によって)無効にされるが、構成エンドポイントは、構成エンジン215によってプロセス制御ネットワーク10内でのみアクセス可能である。
【0026】
より具体的には、この例ではOPC.NET DMZリソースマネージャである構成エンジン215は、データまたはイベント/アラームまたは他のプロセスプラントデータを含む1つ以上の「データビュー」を公表するようにOPC.NETサーバ200を構成する。そのようなデータビューは、外部データサーバ200に保存されたビュー220として図2に例証される。各データビュー220の定義は、設置の必要性に合わせてカスタマイズされ得、それは多くの場合、フェイスプレートまたはアラームリストなどの、ワークステーションディスプレイ上に示されるデータ/イベント/アラームを反映する。当然ながら、データビュー220を、図1のプロセス制御ネットワーク10内のデータもしくはイベントヒストリアン12(図1)、コントローラ11、フィールドデバイス、または他のデバイス15〜22及び60〜72、ワークステーション13などからの任意のプロセス制御情報などの、プロセス制御ネットワーク10内からの任意の所望のプロセス制御情報を提供するように構成または設定することができる。そのようなプロセス制御情報は、制御情報、デバイス情報、保守情報、構成情報などを含み得るが、それらに限定されない。より具体的には、制御情報は、フロー、圧力、レベル、温度などの、測定された、シミュレーションされた、または別途決定されたプロセス変数情報を含み得る。そのような情報は、制御信号、コントローラ構成及びチューニング変数、制御設定、アラーム及びアラートなども含み得る。依然としてさらに、デバイス情報は、デバイス名、製造業者、シリアル番号、タグ、較正情報、またはデバイスに関する任意の他の情報を含み得る。保守情報は、デバイスまたは制御ルーチン較正情報、修理情報、デバイスアラームまたはアラート、ユーザまたは保守ログなどを含み得る。同様に、構成情報は、制御及びプラント階層、フロー図、配管計装図(PI&Ds)などの項目のためのデバイス及び/または制御構成情報を含み得る。当然ながら、プロセス制御情報は、図1のプロセス制御ネットワーク10に関して例証または記載された制御ルーチン、機能ブロック、デバイス、通信などに関する任意の情報であり得る。
【0027】
いずれにせよ、一旦データビュー220が外部データサーバ200内で構成されると、OPC.NETサーバ200は、これらのデータビュー220に従って、またはそれらによって定義されるように、データを1つ以上のOPC.NET DMZゲートウェイ206に公表する。この場合、サーバ200は、データビュー220によって記載または定義されたデータをプロセス制御ネットワーク10からアクセスまたは取得し、このデータを、データビュー220によって指定された、またはそれに関連するフォーマットを使用してゲートウェイデバイス(複数可)206に公表する。加えて、サーバ200上のプロパティは、OPC.NET DMZゲートウェイ(複数可)206をデータビュー220によって定義された公表されたデータを受信することになる唯一の承認されたリモートアプリケーション(複数可)として(プロセス制御ネットワーク10の外側で)識別するように、サーバ初期化中に構成エンジン215によって設定され得る。
【0028】
依然としてさらに、OPC.NET DMZゲートウェイ206がOPC.NET要求を使用して公表されたデータを受信することを許可するために、OPC.NET DMZリソースマネージャ(すなわち、構成エンジン215)は、データビュー220のセット(1つ以上)のための構成識別子を含み、各データビュー及びそのデータ項目/イベント/アラームを記述もするファイルをエクスポートする。そのようなファイルは、ファイル222として図2に例証される。1つを超えるデータビューのセットが要求される場合、OPC.NET DMZリソースマネージャ215は、追加の構成を作成し得、それもまたDMZゲートウェイデバイス(複数可)206内のファイルにエクスポートする。ゲートウェイデバイス206のうちの異なるものが、データビュー220のうちの同じまたは異なるものを受信またはサブスクライブするように構成され得、したがって各ゲートウェイデバイス206が、データビュー220の総セットのサブセットに対応するファイル222のその独自のセットを有し得ることが理解されよう。
【0029】
当然ながら、エクスポートされたデータビューファイル222は、安全な機構を通じてOPC.NET DMZゲートウェイデバイス206に利用可能になり、その機構は、OPC.NETサーバ200によって公表されたデータを受信及び解釈するためにOPC.NET DMZゲートウェイ206が使用する。1つを超えるOPC.NET DMZゲートウェイ206が存在する場合、各エクスポートされた構成ファイルを、任意に、特定のOPC.NET DMZゲートウェイ206のみに安全に配布することができ、それ故に制御システムデータ/イベント/アラームへのアクセスをさらに制限する。いずれにせよ、理解されるように、構成エンジン215、すなわち、OPC.NET DMZリソースマネージャは、1つ以上の事前に設定されたまたは事前に決められたデータビューを特定のDMZゲートウェイデバイス206に公表することのみできるようにOPCサーバ200を構成し、また、プロセス制御ネットワーク10から取得された事前に設定されたまたは事前に決められたデータを含むようにデータビュー220を構成する。リソースマネージャまたは構成エンジン215はまた、データビュー220内のデータの概要を含むエクスポートされたデータビューファイル222をゲートウェイデバイス206に提供し、最終のクライアントデバイスまたはクライアントデバイス内のクライアントアプリケーション210がデータビュー220内のプロセス制御データを表示または使用することを可能にする。
【0030】
構成または設定中、各OPC.NETゲートウェイデバイス206は、そのデータビューファイル222を再公表し、データビュー222内の公表されたデータ/イベント/アラームを受信及び解釈するために様々なOPC.NET DMZサブスクライバ(すなわち、クライアントアプリケーション210)によって使用されることとなる同様のエクスポートファイルを作成する。このようにして、OPC.NET DMZサブスクライバ210は、OPC.NET DMZゲートウェイデバイス206に感染する限られた能力を有する。同様に、たとえ感染したとしても、ゲートウェイデバイス206は、サーバ200に対する読み取り及び書き込みなどの要求(コマンド)を発行することができないので、及びサーバ200に関する任意の構成動作を実行することができないので、OPC.NET DMZゲートウェイデバイス206が、OPC.NETサーバ200に感染する見込みはほとんどない。
【0031】
したがって、構成されたとおり、外部データサーバ200は、構成エンジン(プロセス制御ネットワーク10内)にローカルで応答すること、及びデータを外部デバイス(すなわち、プロセス制御ネットワークの外側のデバイスまたは外部ネットワーク102上のデバイス)のみに公表することだけができる。したがって、外部データサーバ200は、外部で生成された読み取り及び書き込みコマンドを受信する能力を有さず、したがってこれらのコマンドを使用したDMZゲートウェイデバイス206内でのマルウェアによる攻撃または他のプロセスにさらされることはない。さらには、従来のOPC.NETクライアントは、プロセス制御ネットワーク10内に実装されるDMZリソースマネージャまたは構成エンジン215、及びプロセス制御ネットワーク10の外側に実装されるOPC.NET DMZゲートウェイ206を含む2つの別個のエンティティに分離されるため、外部データサーバ200は、保護されるか、またはより安全である。依然としてさらに、この構成設定は、OPC.NET DMZゲートウェイデバイス206がOPC.NETリソース管理(構成)、読み取り、及び書き込み要求をOPC.NETサーバ200に送信する能力を除去し、それによってOPC.NETサーバ200の攻撃表面を減少させる。さらには、この構成は、OPC.NET DMZゲートウェイデバイス206が、OPC.NETサーバ200への典型的なOPCクライアント/サーバ接続を確立することなく、OPC.NETデータ/イベント/アラームをOPC.NETサーバ200から受信することを可能にする。代わりに、OPC.NET DMZゲートウェイデバイス206は、リソースマネージャ215によってまたはそれを使用して作成されたデータビューによって予め定義されている公表されたデータを受信することだけができる。同様の様式で、クライアントアプリケーション210もまた、OPC.NETゲートウェイデバイス206によって公表されたデータビューのみを受信することに制限されるため、この構成は、OPC.NET DMZサブスクライバまたはクライアント210が、OPC.NETリソース管理(構成)、読み取り、及び書き込み要求をOPC.NET DMZゲートウェイ206に送信する能力を除去する。実際、この構成において、OPC NET DMZサブスクライバまたはクライアント210は、ゲートウェイ206によるデータビューの公表を介して、及びOPC.NET DMZゲートウェイデバイス206への典型的なOPCクライアント/サーバ接続を確立することなく、OPC.NET DMZゲートウェイデバイス206からOPC.NETデータ/イベント/アラームを受信することだけができる。結果として、この構成では、3つの協調した、しかし別個の層のアクセス保護が実現されて制御システムデータ/イベント/アラームを保護する。
【0032】
所望の場合、構成エンジン215(またはリソースマネージャ)は、データビューの多重構成を提供することによって、及び多重DMZゲートウェイ206の使用を通じて、アクセスの粒度を可能にさせる、またはそれをデータビューに提供してもよい。この場合、各ゲートウェイデバイス206は、1つ以上の特定のデータビューを受信し(サブスクライブし)、かつ再公表するように構成され得る。クライアントデバイス内のクライアントアプリケーション210は、次いで、特定のゲートウェイデバイス206によって公表されるような再公表されたデータビューの全てをサブスクライブし得(受信するように構成され得)、または特定のゲートウェイ206の特定のデータビューを受信する。この機能は、各クライアントアプリケーション210が、クライアントアプリケーション210が受信または使用を望む(例えば、ユーザに対するディスプレイ、何らかの様式におけるプロセスなど)特定のプロセス制御データ(利用可能なデータビューによって定義される)を選択することを可能にする。
【0033】
本明細書に記載されるセキュリティ技術は、イーサネット、ならびにフィールドバス、HART、及び標準4−20maプロトコルなどの様々な既知のプロセス制御プロトコルを使用して、ネットワーク化されたプロセス制御デバイス及びシステムと共に使用されると記載されているが、本明細書に記載されるセキュリティ技術を、当然ながら、任意の他のプロセス制御通信プロトコル、またはプログラミング環境を使用して任意の種類の制御デバイス内に実現することができ、かつ任意の他の種類のデバイス、機能ブロック、またはコントローラと共に使用してもよい。本明細書に記載されるセキュリティ機能は、好ましくは、ソフトウェアで実現されるが、それらを、ハードウェア、ファームウェア内などで実現してもよく、かつコンピュータデバイスに関連する任意の他のプロセッサによって実行してもよい。したがって、所望の場合は、本明細書に記載される方法を、標準多目的CPU内に、または特別に設計されたハードウェアまたはファームウェア上、例えば、ASICなどで、実施してもよい。ソフトウェアで実施されるとき、ソフトウェアは、磁気ディスク、レーザディスク、光学ディスク、または他の保存媒体上、コンピュータもしくはプロセッサなどのRAMもしくはROM内等、任意のコンピュータ可読メモリに保存され得る。同様に、このソフトウェアは、例えば、コンピュータ可読ディスク、または他の可搬コンピュータストレージ機構上を含む、任意の既知または所望の送達方法を介して、ユーザまたはプロセス制御システムに送達され得るか、電話線、インターネットなどの通信チャネルを介して変調され得る。
【0034】
したがって、本発明は特定の実施例を参照して記載したが、それらは例証のみを目的とし、本発明を制限するものではなく、当業者にとっては、本発明の趣旨及び範囲から逸脱することなく開示された実施形態に変更、追加、削除が加えられ得ることは明らかであろう。
図1
図2