IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許7383368プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム
<>
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図1
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図2
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図3
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図4
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図5
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図6
  • 特許-プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-10
(45)【発行日】2023-11-20
(54)【発明の名称】プロセスプラントから別のシステムへの通信を安全に転送するための方法、システム
(51)【国際特許分類】
   G05B 23/02 20060101AFI20231113BHJP
【FI】
G05B23/02 301Z
【請求項の数】 28
【外国語出願】
(21)【出願番号】P 2017205476
(22)【出願日】2017-10-24
(65)【公開番号】P2018106689
(43)【公開日】2018-07-05
【審査請求日】2020-10-20
(31)【優先権主張番号】15/332,622
(32)【優先日】2016-10-24
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】エリック ロトヴォルド
(72)【発明者】
【氏名】マーク ジェイ. ニクソン
【審査官】稲垣 浩司
(56)【参考文献】
【文献】特開2013-195398(JP,A)
【文献】特開2014-219991(JP,A)
【文献】特開2016-105591(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
プロセスプラントから別のシステムへの通信を安全に転送するための方法であって、
フィールドゲートウェイにおいて、プロセスプラントネットワークと、前記フィールドゲートウェイとエッジゲートウェイとの間の双方向通信を防止するように構成されたデータダイオードと、を相互接続し、前記データダイオードを経由して前記エッジゲートウェイに、前記プロセスプラントの1つ以上のデバイスの各々を記述するそれぞれのコンテキスト情報であって、前記1つ以上のデバイスの前記各々のデバイスの識別子の指標と、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータが、前記データダイオードを経由して前記エッジゲートウェイに、前記フィールドゲートウェイにより提供されるべきそれぞれの速度の指標と含む前記コンテキスト情報を、複数のコンテキスト設定フェーズの各コンテキスト設定フェーズ中において反復的に告知し、前記エッジゲートウェイが前記1つ以上のデバイスを検出することと、
前記各コンテキスト設定フェーズの後に発生するそれぞれのデータ配信フェーズにおいて、(i)前記プロセスプラントがプロセスを制御するように動作している間に、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを、前記プロセスプラントネットワークを介して前記フィールドゲートウェイで受信することと、(ii)前記フィールドゲートウェイによって、前記データダイオードを経由して前記エッジゲートウェイに、前記各コンテキスト設定フェーズ中に前記エッジゲートウェイに送信されるそれぞれのコンテキスト情報に従って、且つ前記データダイオードを介して前記プロセスプラントで生成されたデータを送信するために使用される通信プロトコルのパブリッシングメカニズムを使用して、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータをパブリッシュすることと、を含む、方法。
【請求項2】
前記1つ以上のデバイスに含まれる特定のデバイスを記述する前記それぞれのコンテキスト情報を反復的に告知することが、前記特定のデバイスを記述する前記それぞれのコンテキスト情報を周期的に送信することを含み、周期性が、失われたデータのアプリケーションの許容差に基づいており、前記アプリケーションが、前記特定のデバイスによって生
成される前記データのコンシューマであり、前記アプリケーションが、前記エッジゲートウェイに通信可能に接続される、請求項1に記載の方法。
【請求項3】
前記フィールドゲートウェイによって、前記1つ以上のデバイスに含まれる特定のデバイスにポーリングを送信することをさらに含み、
前記フィールドゲートウェイにおいて、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを受信することが、前記フィールドゲートウェイにおいて、前記ポーリングに応答して前記特定のデバイスによって生成されたデータを受信することを含む、請求項1又は2に記載の方法。
【請求項4】
前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを受信することが、診断結果を示すデータを受信することを含む、請求項1から3のいずれか一項に記載の方法。
【請求項5】
前記1つ以上のデバイスの前記各々のデバイスの前記それぞれのコンテキスト情報を反復的に告知することが、コマンド0、コマンド20、コマンド50、コマンド74、またはコマンド105を含むHARTプロトコルコマンドの群からの少なくとも1つのHARTプロトコルコマンドを使用して、前記1つ以上のデバイスの前記各々のデバイスについて前記それぞれのコンテキスト情報を反復的に送信することを含む、請求項1から4のいずれか一項に記載の方法。
【請求項6】
前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを前記データダイオードを経由してパブリッシュすることが、HART-IP(登録商標)プロトコルを使用して、前記データダイオードを経由して前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータをパブリッシュすることを含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを前記データダイオード経由してパブリッシュすることが、JSONフォーマットを使用して前記データダイオードを経由して前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータをパブリッシュすることを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記フィールドゲートウェイにおいて、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータを受信することが、前記フィールドゲートウェイにおいて、HART-IP(登録商標)プロトコルを介して、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータのうちの少なくとも一部を受信することを含む、請求項1から7のいずれか一項に記載の方法。
【請求項9】
前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータのうちの少なくとも一部を前記HART-IPプロトコルを介して受信することが、前記1つ以上のデバイスの前記各々によって前記データダイオードを介して配信するために、前記フィールドゲートウェイにパブリッシュされたデータを受信することを含む、請求項8に記載の方法。
【請求項10】
プロセスプラントから別のシステムへの通信を安全に転送するためのシステムであって、
プロセスプラントネットワークに通信可能に結合されたフィールドゲートウェイと、
前記別のシステムに通信可能に結合されたエッジゲートウェイと、
前記フィールドゲートウェイと前記エッジゲートウェイとを相互接続するデータダイオ
ードであって、前記エッジゲートウェイによって送信された通信が前記フィールドゲートウェイに進入することを防止するように構成される、データダイオードと、を備え、
コンテキスト設定フェーズの後に発生するそれぞれのデータ配信フェーズにおいて、前記プロセスプラントが工業プロセスを制御するように動作している間に、前記プロセスプラントに含まれる1つ以上のデバイスによって生成されたデータが、前記プロセスプラントネットワークを介して前記フィールドゲートウェイにおいて受信され、前記フィールドゲートウェイによって、前記データダイオードを経由して前記エッジゲートウェイに、前記各コンテキスト設定フェーズ中にエッジゲートウェイに送信されるそれぞれのコンテキスト情報に従って、且つ前記データダイオードを介して前記プロセスプラントで生成されたデータを送信するために使用される通信プロトコルのパブリッシングメカニズムを介してパブリッシュされ、
前記各コンテキスト設定フェーズ中において、前記エッジゲートウェイが前記1つ以上のデバイスを検出するように、前記フィールドゲートウェイによって、前記データダイオードを経由して前記エッジゲートウェイに、前記1つ以上のデバイスの前記それぞれのコンテキスト情報が告知され、各デバイスのそれぞれのアイデンティティの指標と、前記各々のデバイスによって前記データが生成されるそれぞれの速度の指標とを含む、1つ以上のデバイスのそれぞれのコンテキスト情報が、前記フィールドゲートウェイによってパブリッシュされる、システム。
【請求項11】
前記通信プロトコルは、HART-IP(登録商標)プロトコルである、請求項10に記載のシステム。
【請求項12】
前記通信プロトコルは、JSONフォーマットを使用する、請求項10に記載のシステム。
【請求項13】
前記データダイオードが、イーサネット接続される、請求項10から12のいずれか一項に記載のシステム。
【請求項14】
前記データダイオードが、直列接続される、請求項10から12のいずれか一項に記載のシステム。
【請求項15】
前記別のシステムが、
前記プロセスプラントで起こる状況及び/または事象を監視することと、
前記プロセスプラントで起こる状況及び/または事象を感知することと、
前記プロセスプラントによって制御されているプロセスの少なくとも一部分を監視することと、
前記生成されたデータを使用して記述的分析を遂行することと、
前記生成されたデータを使用して規範的分析を遂行すること、または、
前記生成されたデータに基づいて、前記プロセスプラントの少なくとも一部分を修正するための規範的機能を生成することと、のうちの少なくとも1つを行うように構成される、請求項10から14のいずれか一項に記載のシステム。
【請求項16】
前記別のシステムが、少なくとも部分的に1つ以上のクラウドコンピューティングシステムで実装される、請求項10から15のいずれか一項に記載のシステム。
【請求項17】
前記プロセスプラントが工業プロセスを制御するように動作している間に、前記1つ以上のデバイスによって生成された前記データが、前記1つ以上のデバイスによって生成された動的データ、または前記1つ以上のデバイスの診断もしくは試験の結果として生成された診断データのうちの少なくとも1つを含む、請求項10から16のいずれか一項に記載のシステム。
【請求項18】
前記別のシステムで実行されるアプリケーションが、前記プロセスプラントに含まれる前記1つ以上のデバイスによって生成された前記データのうちの少なくとも一部のコンシューマである、請求項10から17のいずれか一項に記載のシステム。
【請求項19】
前記エッジゲートウェイが、前記プロセスプラントに含まれる前記1つ以上のデバイスによって生成された前記データのうちの少なくとも一部をパブリッシュし、前記別のシステムで実行される前記アプリケーションが、前記エッジゲートウェイによってパブリッシュされた前記データのサブスクライバである、請求項18に記載のシステム。
【請求項20】
前記フィールドゲートウェイが、前記データダイオードを経由して前記エッジゲートウェイに、前記パブリッシングメカニズムを介して、前記1つ以上のデバイスの前記各々のデバイスを記述するそれぞれの情報をさらにパブリッシュする、請求項10から19のいずれか一項に記載のシステム。
【請求項21】
前記1つ以上のデバイスの前記各々のデバイスを記述する前記それぞれの情報が、前記1つ以上のデバイスの前記各々のデバイスのそれぞれのアイデンティティの指標と、前記1つ以上のデバイスの前記各々のデバイスによって生成されたデータがパブリッシュされるべきそれぞれの速度と、を含む、請求項20に記載のシステム。
【請求項22】
前記1つ以上のデバイスの前記各々のデバイスを記述する前記それぞれの情報が、前記1つ以上のデバイスの前記各々のデバイスの状態の指標をさらに含む、請求項21に記載のシステム。
【請求項23】
前記1つ以上のデバイスによって生成された前記データが、受信され、前記フィールドゲートウェイに提供される無線ゲートウェイをさらに含む、請求項10から22のいずれか一項に記載のシステム。
【請求項24】
前記無線ゲートウェイが、WirelessHART(登録商標)である、請求項23に記載のシステム。
【請求項25】
前記無線ゲートウェイが、前記1つ以上のデバイスによって生成された前記データを、HART-IPプロトコルを使用して前記フィールドゲートウェイに提供する、請求項23又は24に記載のシステム。
【請求項26】
前記1つ以上のデバイスのうちの少なくとも1つが、それぞれの生成されたデータを前記データダイオードを介して配信するために、前記無線ゲートウェイにパブリッシュする、請求項23から25のいずれか一項に記載のシステム。
【請求項27】
前記それぞれの生成されたデータがパブリッシュされる前記無線ゲートウェイが、前記それぞれの生成されたデータのサブスクライバである、請求項26に記載のシステム。
【請求項28】
前記無線ゲートウェイが、前記1つ以上のデバイスのうちの少なくとも1つをポーリングして、それぞれの生成されたデータを取得する、請求項23から27のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
相互参照
本開示は、2014年10月6日に出願され、「Regional Big Data
in Process Control Systems」と題する共同所有の米国特許出願第14/507、188号、2016年9月23日に出願され、「Data Analytics Services for Distributed Industrial Performance Monitoring」と題する共同所有の米国特許出願第15 / 274、519号、2016年9月23日に出願され、「Distributed Industrial Performance Monitoring and Analytics」という名称の米国特許出願第15/274、233号;及び2016年10月24日に出願された「Process Device Condition and Performance Monitoring」と題する共同所有の米国特許出願第15/332、521号に関連し、その全体の開示は参照により本明細書に組み込まれる。
【0002】
本開示は、概して、プロセスプラント及びプロセス制御システムに関し、より具体的には、ローカルプロセスプラント/プロセス制御システムと、パーベイシブセンシングシステムなどのローカルプロセス制御プラント/システムにサービスを提供する遠隔システムとの間の通信をセキュリティ保護することに関する。
【背景技術】
【0003】
化学、石油、または他のプロセスプラントで使用されるものなどの分散プロセス制御システムは、アナログ、デジタル、もしくはアナログ/デジタル結合バスを介して、または無線通信リンクもしくはネットワークを介して、1つ以上のフィールドデバイスに通信可能に結合された1つ以上のプロセスコントローラを典型的に含む。例えばバルブ、バルブ位置決め器、スイッチ、及びトランスミッタ(例えば、温度、圧力、レベル、及び流量センサ)であってもよいフィールドデバイスは、プロセス環境内に位置し、例えばバルブの開閉、プロセスプラントまたはシステム内で実行されている1つ以上のプロセスを制御するために、圧力、温度などのプロセスパラメータの測定などのような、一般に物理的またはプロセス制御機能を遂行する。周知のフィールドバスプロトコルに準拠するフィールドデバイスなどのスマートフィールドデバイスは、制御計算、アラーム機能、及びコントローラ内で通常実装される他の制御機能を遂行することもできる。典型的にプラント環境内に位置するプロセスコントローラは、フィールドデバイスによって作られたプロセス測定値及び/またはフィールドデバイスに関する他の情報を示す信号を受信し、例えば、プロセス制御決定を行い、受信した情報に基づいて制御信号を生成し、HART(登録商標)、WirelessHART(登録商標)、FOUNDATION(登録商標)Fieldbusフィールドデバイスなどのフィールドデバイスで実施される制御モジュールまたはブロックと連携する、異なる制御モジュールを動作させるコントローラアプリケーションを遂行する。コントローラ内の制御モジュールは、通信ラインまたはリンクを介してフィールドデバイスに制御信号を送信し、それによってプロセスプラントまたはシステムの少なくとも一部の動作を制御する。
【0004】
フィールドデバイス及びコントローラからの情報は、通常、データハイウェイを介して、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中型データベース、または典型的にはより厳しいプラント環境から離れた制御室もしくは他の場所に配置される他の集
中管理コンピューティングデバイスなどの1つ以上の他のハードウェアデバイスに利用可能になる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部にわたって集中管理される。これらのハードウェアデバイスは、例えば、プロセス制御ルーチンの設定を変更すること、コントローラ及びフィールドデバイスプロセス内の制御モジュールの動作を修正すること、プロセスの現在の状態を視認すること、フィールドデバイス及びコントローラによって生成されたアラームを視認すること、人員の訓練またはプロセス制御ソフトウェアの試験の目的でプロセス動作をシミュレートすること、構成データベースを維持及び更新することなど、プロセスの制御及び/またはプロセスプラントの動作に関する機能を、オペレータが遂行することができるアプリケーションを実施することができる。ハードウェアデバイス、コントローラ、及びフィールドデバイスによって利用されるデータハイウェイは、有線通信経路、無線通信経路、または有線及び無線通信経路の組み合わせを含むことができる。
【0005】
一例として、Emerson Process Managementが販売するDeltaVTM制御システムには、プロセスプラント内の多様な場所に位置する異なるデバイスに格納され、実行される複数のアプリケーションが含まれる。1つ以上のワークステーションまたはコンピューティングデバイスに存在する構成アプリケーションによって、ユーザが、プロセス制御モジュールを作成または変更し、これらのプロセス制御モジュールを、データハイウェイを介して専用の分散コントローラにダウンロードすることができる。典型的には、これらの制御モジュールは、そこへの入力に基づいて制御スキーム内の機能を遂行し、制御スキーム内の他の機能ブロックに出力を提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである通信可能に相互接続された機能ブロックで構成される。構成アプリケーションはまた、構成設計者が、視認アプリケーションによってデータをオペレータに表示し、オペレータがプロセス制御ルーチン内の設定点などの設定を変更することができるようにするオペレータインターフェイスを作成または変更することを可能にすることができる。各々の専用コントローラ及び場合によっては1つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために割り当てられ、ダウンロードされた制御モジュールを実施するそれぞれのコントローラアプリケーションを格納及び実行する。1つ以上のオペレータワークステーション(またはオペレータワークステーション及びデータハイウェイと通信可能に接続された1つ以上の遠隔コンピューティングデバイス)上で実行される視認アプリケーションは、データハイウェイを介してコントローラアプリケーションからデータを受信し、ユーザインターフェースを使用してプロセス制御システムの設計者、オペレータ、またはユーザにこのデータを表示することができ、オペレータの視点、技術者の視点、技能者の視点など、多数の異なる視点のいずれかを提供することができる。データヒストリアンアプリケーションは、典型的には、データハイウェイにわたって提供されるデータの一部または全部を収集して保存するデータヒストリアンデバイスに格納されて実行され、一方、構成データアプリケーションを、データハイウェイに接続されたさらに別のコンピュータ内で実施し、現在のプロセス制御ルーチン構成及びそれに関連するデータを格納することができる。代替的に、構成データベースを構成アプリケーションと同一のワークステーションに位置させることもできる。
【0006】
一般的には、プロセスプラントのプロセス制御システムは、フィールドデバイス、コントローラ、ワークステーション、ならびに階層化ネットワーク及びバスのセットによって相互接続される他のデバイスを含む。プロセス制御システムは、例えば、製造及び運用コストを低減し、生産性及び効率を高め、プロセス制御及び/またはプロセスプラント情報などへのタイムリーなアクセスを提供するために、様々な事業体及び外部ネットワークと接続されてもよい。一方、プロセスプラント及び/またはプロセス制御システムを、企業及び/または外部のネットワーク及びシステムに相互接続することにより、企業及び/または外部ネットワークで使用されるもののような、商用システム及びアプリケーションにおいて予想される脆弱性から生じ得る、サイバー侵入及び/または悪意のあるサイバー攻
撃のリスクが高まる。プロセスプラント、ネットワーク、ならびに/または制御システムのサイバー侵入及び悪意のあるサイバー攻撃は、一般的に言えば、汎用コンピューティングネットワークの脆弱性と同様の脆弱性である情報資産の機密性、完全性、及び/または可用性に悪影響を与える可能性がある。しかしながら、汎用コンピュータネットワークとは異なり、プロセスプラント、ネットワーク、及び/または制御システムのサイバー侵入は、プラント設備、製品、及び他の物理的資産の損傷、破壊、及び/または損失だけでなく、人命の喪失をもたらす可能性がある。例えば、サイバー侵入によってプロセスが制御不能になり、爆発、火災、洪水、危険物への曝露などが生成する可能性がある。したがって、プロセス制御プラント及びシステムに関連する通信を、セキュリティ保護することが特に重要である。
【0007】
図1は、プロセス制御または工業プロセスシステムのセキュリティの例示的なレベルのブロックダイヤグラム10を含む。ダイヤグラム10は、プロセス制御システムの様々な構成要素、プロセス制御システムそれ自体、及びプロセス制御システムが、通信可能に接続することができる他のシステム及び/またはネットワーク間の相互接続、ならびに、プロセス制御システムと他のシステム/ネットワークの内部及び間の通信に対するセキュリティの階層またはレベルを示す。セキュリティレベルは、セグメント化または分離によるセキュリティへの階層的なアプローチを提供し、様々なレベルは、1つ以上のファイアウォール12A、12B、12Cによって保護され、異なるレベル間で許可されたトラフィックのみを許可する。図1では、低い番号のセキュリティレベルは、制御されているオンラインプロセスに近く、高い番号のセキュリティレベルは実行プロセスからより多く削除されている。したがって、信頼レベル(メッセージ、パケット、及び他の通信の安全性と妥当性の信頼度など)は、デバイスレベル(レベル0)で最も高く、信頼レベルは、事業体ネットワークレベル上、例えば、公衆インターネット及び/または他の公衆ネットワーク上で最も低レベル(レベル5)にある。ISA(国際自動学会(International Society of Automation))95.01-IEC(国際電気標準会議(International Electrotechnical Commission))62264-1で標準化されている制御階層(Purdue Model for Control Hierarchy)論理フレームワークのパーデュ(Purdue)モデルを使用すると、プロセス制御システムは一般にセキュリティレベル0~2に分類され、製造、会社、及び企業システムは、一般にセキュリティレベル3~5に分類される。
【0008】
異なるセキュリティレベルの各々における異なる機能性の例を、図1に示す。典型的には、レベル0には、プロセスプラント内に配設され、プロセス及び/またはプロセスフローと直接接触するフィールドデバイス及び他のデバイス、例えば、センサ、バルブ、バルブ位置決め器、スイッチ、トランスミッタ、及びバルブの開閉、圧力、温度などのプロセスパラメータの測定などの物理的及び/またはプロセス制御機能を遂行する他のデバイスを含む。例示を明確にするために、例示的なフィールドデバイスは、図1には示されていない。
【0009】
レベル1は、例えば、フィールドデバイスからの入力を受信し、制御スキーム、モジュール、または他の論理を使用して入力を処理し、結果出力を他のデバイスに送信することによって、プロセスのリアルタイム動作の基本制御を提供するコントローラ及び他のプロセス制御デバイス15A~15Dを含む。一般に、このようなプロセス制御デバイスは、それぞれの制御方式でプログラムされ、及び/または構成されている。例えば、レベル1のプロセス制御デバイスは、プロセスコントローラ、プログラマブルロジックコントローラ(PLC)、遠隔ターミナルユニット(RTU)などを含むことができる。図1に示すように、レベル1のプロセス制御デバイスは、バッチ制御15A、個別制御15B、連続制御15C、ハイブリッド制御15D、及び/または他のタイプの制御を遂行するものを
含むことができる。
【0010】
レベル2は、プロセスプラントの生産領域監視制御を提供するデバイス及び設備18A~18Dを含む。例えば、レベル2は、警告及び/または警報システム18A、オペレータワークステーション18C、他のヒューマンマシンインターフェース(HMI)18B、18Dなどを含むことができる。一般に、レベル2のデバイス及び設備は、レベル1のデバイス15A~15Dならびにレベル3のデバイス及び設備と、例えば1つ以上のファイアウォール12A、12Bを介して通信することができる。
【0011】
レベル3は、プラントシステム及び/またはネットワーク、例えば、デバイス、設備及びサイト/プラントを管理し、所望の最終製品を生産または製造するための制御を管理するシステム20A~20Dを収容する。例えば、レベル3は、生産管理、報告、スケジューリング等に使用される生産システム20A、品質、生産性、効率などを改善するために使用される最適化システム20B、プロセスプラントによって生成された、及び/もしくは示すデータを履歴化するためのヒストリアン20C、ならびに/または制御スキーム及びモジュール、オペレータワークステーション、及び/もしくはHMIインターフェースなどの設計及び開発のために要員が使用するエンジニアリングワークステーションもしくはコンピューティングデバイス20Dを含むことができる。
【0012】
レベル5にスキップすると、レベル5には一般的に、事業体、会社、または企業のシステム及び/またはネットワークが収納される。典型的には、そのようなシステム及び/またはネットワークは、企業外のシステムとのインターフェースを管理する。例えば、企業のVPN(仮想プライベートネットワーク)、会社もしくは企業インターネットアクセスサービス、ならびに/または他のIT(情報技術)インフラストラクチャシステム及びアプリケーションは、レベル5にある。
【0013】
レベル5の内部拡張と見なすことができるレベル4は、一般的に企業の内部にある会社または企業システム、例えば、電子メール、イントラネット、サイトの事業計画とロジスティクス、在庫管理、スケジューリングをサポートする会社システム及び/または他の会社/企業システム及びネットワークを収納する。
【0014】
図1に示すように、セキュリティレベル3及び4は、事業体もしくは企業システム及び/またはネットワークを、プラント/プロセスシステム及び/またはネットワークから分離する非武装地帯(DMZ)22を介して相互にインターフェースし、それによってプロセスプラントが曝されるセキュリティリスクを最小にする。DMZ22は、1つ以上のそれぞれのファイアウォール12Cを含み、より低いセキュリティレベルでプラント関連デバイス、機器、及び/もしくはアプリケーションと通信し、ならびに/または企業関連デバイス、機器、アプリケーションと高度なセキュリティレベルで通信する、様々なデバイス、機器、サーバ、及び/またはアプリケーション25A~25Fを収容してもよい。例えば、DMZ22は、2、3の例を挙げると、ターミナルサービス25A、パッチ管理25B、1つ以上のAVサーバ25C、1つ以上のヒストリアン25D(例えばミラーヒストリアンを含み得る)、Webサービスオペレーション25E、及び/または1つ以上のアプリケーションサーバ25Fを含む。典型的には、DMZ22の上のセキュリティレベルのデバイス、機器、及び/またはアプリケーションについては、許可されたものだけがプロセスプラントに通信可能にアクセスすることが許可され、さらにデバイス、機器、サーバ及び/またはDMZ22のアプリケーション25A~25Fを介して接続されることが要求される。DMZデバイス25A~25Fは、下位レベルへの別個の接続を維持し、それにより、プロセスプラント及び制御システムを、企業(及び上位)システム及び/またはネットワークからの攻撃から保護する。
【0015】
遠隔サービスの簡単な議論に移ると、遠隔サービスは、異なるユーザ及びシステムによって、ますます一般的に使用されるようになってきている。例えば、MicrosoftWindows(登録商標)オペレーティングシステムによって提供される遠隔デスクトップサービス製品を使用すると、ユーザは、会社ネットワーク及び/またはインターネットから、データセンター内のセッションベースのデスクトップ、仮想マシンベースのデスクトップ、及び/または他のアプリケーションにアクセスすることが可能になる。Intuit(登録商標)が提供するQuickBooks(登録商標)Online製品は、ユーザがキャッシュフロー管理、請求書発行、インターネットを介してのオンライン支払いなどの会計機能を遂行することを可能にする。一般的に言えば、遠隔サービスは、遠隔サービスにアクセスするシステムまたはユーザから遠隔操作で実行する1つ以上のアプリケーションによって提供される。例えば、1つ以上のアプリケーションは、サーバの遠隔バンク、クラウドなどでデータを実行及び管理し、企業ネットワーク及び/または公衆インターネットのような1つ以上のプライベート及び/または公衆ネットワークを介してアクセスされる。
【発明の概要】
【0016】
一実施形態では、プロセスプラントから別のシステムへ通信を安全に転送する方法は、フィールドゲートウェイにおいて、プロセスプラントのネットワークと、フィールドゲートウェイとエッジゲートウェイと、の間の双方向通信を防止するように構成されたデータダイオードとを相互接続することと、データダイオードを経由してエッジゲートウェイに対して、プロセス制御プラントの1つ以上のデバイスの各々を記述するそれぞれのコンテキスト情報を反復的に告知することと、プロセスプラントがプロセスを制御するように動作している間に、1つ以上のデバイスの各々によって生成されたデータを、プロセスプラントネットワークを介してフィールドゲートウェイで受信することと、フィールドゲートウェイによって、データダイオードを経由してエッジゲートウェイにプロセスプラントデータをパブリッシュすることと、を含む。
【0017】
一実施形態では、プロセスプラントから別のシステムへ通信を安全に転送するシステムは、プロセスプラントのネットワークに通信可能に結合されたフィールドゲートウェイと、他のシステムに通信可能に結合されたエッジゲートウェイと、フィールドゲートウェイとエッジゲートウェイとを相互接続するデータダイオードと、を含む。データダイオードは、エッジゲートウェイによって送信された通信がフィールドゲートウェイに進入することを防止するように構成され、プロセスプラントが工業プロセスを制御するように動作している間に、プロセスプラントに含まれる1つ以上のデバイスによって生成されたデータが、プロセスプラントネットワークを介してゲートウェイ受信され、フィールドゲートウェイによって、データダイオードを経由してエッジゲートウェイにパブリッシュされる。
【図面の簡単な説明】
【0018】
図1】特に、プロセス制御システムの様々な例示的構成要素と、プロセス制御システム自体と、他の例示的なシステム及び/またはネットワークとの間の相互接続を含む、プロセス制御または工業プロセスシステムのセキュリティの例示的なレベルのブロック図を含む。
図2】プロセス制御システムの様々な例示的構成要素と、プロセス制御システム自体と、他の例示的なシステム及び/またはネットワークとの間の相互接続を特に示すプロセスプラントまたはプロセス制御システムの例のブロック図である。
図3】プロセスプラントまたはプロセス制御システムのための例示的なセキュリティアーキテクチャのブロック図である。
図4】プロセスプラントまたはプロセス制御システムの安全な通信をプロビジョニングするために使用されるメッセージフローの例を示す。
図5】データダイオードを経由してプロセスプラントデータを配信するために使用され得るメッセージフローの例を示す。
図6】プロセスプラントまたはプロセス制御システムから通信を安全に転送するための例示的な方法のフロー図である。
図7】プロセスプラントまたはプロセス制御システムから通信を安全に輸送するための例示的な方法のフロー図である。
【発明を実施するための形態】
【0019】
上述したように、サイバー侵入及び悪意のあるサイバー攻撃に対してプロセス制御プラント及びシステムを安全にすることは、典型的にファイアウォール及び他のセキュリティメカニズムを使用して安全にされた層またはレベルの少なくとも一部によって、層状またはレベル化されたセキュリティ階層を利用する。例えば、図1に関して上記に説明したように、セキュリティレベル0~3のプロセスプラントシステム、ネットワーク、及びデバイスは、セキュリティレベル4~5の企業ネットワークから、及び/または企業ネットワークを利用するレベル5より高い任意の外部ネットワークからの脅威から、例えば、DMZ22及び1つ以上のファイアウォール12A~12Cを使用することによって、保護され得る。しかしながら、プロセスプラントデータ上で動作するより多くのサービス及びアプリケーションが、(例えば、企業またはビジネス内のレベル4及び/または5の)例えば、プロセスプラントの外部ネットワーク及びシステム上で、ならびに/または企業もしくは事業体の外部にあるネットワーク及びシステム(例えば、レベル5以上、インターネットもしくは他の公衆ネットワークを介して)上であっても、遠隔操作で実行するために移動されるとき、プロセスプラントシステム、ネットワーク、及びデバイスが危険に曝されるのを防ぐためのより強力な技術が必要である。
【0020】
本明細書で説明される新たなシステム、構成要素、装置、方法、及び技術は、プロセスプラント及びそのネットワークに関連するこれら及び他のセキュリティ問題に対処し、特に、プロセスプラント/ネットワークと他のネットワークまたはシステムとの間の通信をセキュリティ保護することに関する。
【0021】
説明するために、図2は、オンライン動作中の工業プロセスを制御するように構成され、本明細書に記載された新たなセキュリティ技術のうちの任意の1つ以上を利用してセキュリティ保護され得る例示的なプロセスプラント100のブロック図である。プロセスプラント100(本明細書では、同義的に、プロセス制御システム100またはプロセス制御環境100とも称される)は、フィールドデバイスによって行われたプロセス測定値を示す信号を受信し、この情報を処理して制御ルーチンを実装し、有線または無線のプロセス制御通信リンクまたはネットワークを介して他のフィールドデバイスに送信される制御信号を生成して、プラント100内のプロセスの動作を制御する1つ以上のプロセスコントローラを含む。典型的には、少なくとも1つのフィールドデバイスが、プロセスの動作を制御する物理的機能(例えば、バルブの開閉、温度の上昇または低下、測定の取得、状況の検出など)を遂行する。一部のタイプのフィールドデバイスは、I/Oデバイスを使用してコントローラと通信する。プロセスコントローラ、フィールドデバイス、及びI/Oデバイスは、有線または無線であってもよく、任意の数及び組み合わせの有線及び無線プロセスコントローラ、フィールドデバイス、及びI/Oデバイスが、プロセスプラント環境またはシステム100に含まれてもよい。
【0022】
例えば、図2は、入出力(I/O)カード126及び128を介して有線フィールドデバイス115~122に通信可能に接続され、無線ゲートウェイ135及びプロセス制御データハイウェイまたはバックボーン110を介して無線フィールドデバイス140~146に通信可能に接続されているプロセスコントローラ111を示す。プロセス制御データハイウェイ110は、1つ以上の有線及び/または無線通信リンクを含むことができ、例えば、イーサネットプロトコルのような任意の所望のまたは好適なまたは通信のプロト
コルを使用して実装することができる。いくつかの構成(図示せず)では、コントローラ111は、バックボーン110以外の1つ以上の通信ネットワークを使用して、例えば、Wi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、移動通信プロトコル(例えば、WiMAX、LTE、または他のITU-R互換プロトコル)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、Profibus、FOUNDATION(登録商標)Fieldbusなどをサポートする任意の数の他の有線または無線通信リンクを使用して、無線ゲートウェイ135に通信可能に接続されてもよい。
【0023】
例えば、Emerson Process Managementによって販売されているDeltaVTMコントローラであってもよいコントローラ111は、フィールドデバイス115~122及び140~146の少なくとも一部を使用してバッチプロセスまたは連続プロセスを実装するように動作することができる。一実施形態では、コントローラ111は、プロセス制御データハイウェイ110に通信可能に接続されることに加えて、フィールドデバイス115~122及び140~146のうちの少なくともいくつかに、4~20mAデバイス、I/Oカード126、128、及び/またはFOUNDATION(登録商標)Fieldbusプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコルなどの任意のスマート通信プロトコルに関連する任意の所望のハードウェア及びソフトウェアを使用して通信可能に接続される。図2では、コントローラ111、フィールドデバイス115~122及びI/Oカード126、128は、有線デバイスであり、フィールドデバイス140~146は、無線フィールドデバイスである。当然のことながら、有線フィールドデバイス115~122及び無線フィールドデバイス140~146は、将来開発される任意の標準またはプロトコルを含む任意の有線または無線プロトコルのような任意の他の所望の標準またはプロトコルに準拠することができる。
【0024】
図2のプロセスコントローラ111は、(例えば、メモリ132に格納された)1つ以上のプロセス制御ルーチン138を実装または監督するプロセッサ130を含む。プロセッサ130は、フィールドデバイス115~122及び140~146及びコントローラ111に通信可能に接続された他のノードと通信するように構成されている。本明細書に記載された任意の制御ルーチンまたはモジュールは、そのように所望される場合、異なるコントローラまたは他のデバイスによってその一部が実装または実行されてもよい。同様に、プロセス制御システム100内で実装される本明細書に記載の制御ルーチンまたはモジュール138は、ソフトウェア、ファームウェア、ハードウェアなどを含む任意の形態を採ることができる。制御ルーチンは、オブジェクトラダーロジック、シーケンシャルファンクションチャート、ファンクションブロックダイアグラム、または他の任意のソフトウェアプログラミング言語もしくは設計パラダイムを使用して実装することができる。制御ルーチン138は、ランダムアクセスメモリ(RAM)または読み出し専用メモリ(ROM)のような任意の所望のタイプのメモリ132に格納することができる。同様に、制御ルーチン138は、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または他の任意のハードウェアもしくはファームウェア要素にハードコード化されてもよい。したがって、コントローラ111は、任意の所望の方法で制御ストラテジまたは制御ルーチンを実装するように構成することができる。
【0025】
コントローラ111は、一般的に機能ブロックと称されるものを使用して制御ストラテジを実装し、各々の機能ブロックは全体制御ルーチンのオブジェクトまたは他の部分(例えばサブルーチン)であり、他の機能ブロックと共に(リンクと称される通信を介して)動作して、プロセス制御システム100内のプロセス制御ループを実装する。制御ベースの機能ブロックは、典型的には、送信機、センサまたは他のプロセスパラメータ測定デバイスに関連する入力機能の1つ、PID、ファジィ論理等の制御を遂行する制御ルーチン
に関連するもののような制御機能;プロセス制御システム100内のいくつかの物理的機能を実行するためのバルブなどのデバイスの動作を制御する出力機能の1つを遂行する。当然のことながら、ハイブリッド及び他のタイプの機能ブロックが存在する。機能ブロックは、典型的には、これらの機能ブロックが標準4~20mAデバイス及びHART(登録商標)デバイスのようないくつかのタイプのスマートフィールドデバイスに使用されるか、または関連する場合に、コントローラ111に格納され、コントローラ111によって実行されてもよく、FOUNDATION(登録商標)フィールドバスデバイスの場合のようにフィールドデバイス自体に格納され、実装されてもよい。コントローラ111は、1つ以上の機能ブロックを実行することによって遂行される1つ以上の制御ループを実装することができる、1つ以上の制御ルーチン138を含むことができる。
【0026】
有線フィールドデバイス115~122は、センサ、バルブ、送信機、位置決め器などのような任意のタイプのデバイスとすることができ、I/Oカード126及び128は、任意の所望の通信プロトコルまたはコントローラプロトコルに準拠する任意のタイプのI/Oデバイスであってもよい。図2に示すように、フィールドデバイス115~118は、アナログラインまたはアナログ及びデジタルの結合ラインを介してI/Oカード126と通信する、標準的な4~20mAデバイスまたはHART(登録商標)デバイスであり、フィールドデバイス119~122は、FOUNDATION(登録商標)フィールドバス通信プロトコルを使用してデジタルバスを介してI/Oカード128と通信するFOUNDATION(登録商標)Fieldbusフィールドデバイスなどのスマートデバイスである。しかし、いくつかの実施形態では、少なくとも一部の有線フィールドデバイス115、116、118~121及び/または少なくとも一部のI/Oカード126、128は、プロセス制御データハイウェイ110を使用して及び/または他の適切な制御システムプロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HARTなど)を使用することによって、コントローラ111と付加的または代替的に通信する。
【0027】
図2では、無線フィールド機器140~146は、WirelessHART(登録商標)プロトコルなどの無線プロトコルを使用して、無線プロセス制御通信ネットワーク170を介して通信する。そのような無線フィールド機器140~146は、(例えば、無線プロトコルまたは別の無線プロトコルを使用して)無線通信するようにも構成された無線ネットワーク170の1つ以上の他のデバイスまたはノードと直接通信することができる。無線通信するように構成されていない他のノードと通信するために、無線フィールド機器140~146は、プロセス制御データハイウェイ110または別のプロセス制御通信ネットワークに接続された無線ゲートウェイ135を利用することができる。無線ゲートウェイ135は、無線通信ネットワーク170の様々な無線デバイス140~158へのアクセスを提供する。特に、無線ゲートウェイ135は、無線デバイス140~158、有線デバイス115~128、及び/またはプロセス制御プラント100の他のノードまたはデバイス間の通信結合を提供する。例えば、無線ゲートウェイ135は、プロセス制御データハイウェイ110を使用することによって、及び/またはプロセスプラント100の1つ以上の他の通信ネットワークを使用することによって、通信結合を提供することができる。
【0028】
有線フィールドデバイス115~122と同様に、無線ネットワーク170の無線フィールドデバイス140~146は、プロセスプラント100内の物理的制御機能、例えば、バルブの開閉、またはプロセスパラメータの測定を遂行する。しかし、無線フィールドデバイス140~146は、ネットワーク170の無線プロトコルを使用して通信するように構成されている。このように、無線ネットワーク170の無線フィールドデバイス140~146、無線ゲートウェイ135、及び他の無線ノード152~158は、無線通信パケットのプロデューサ及びコンシューマである。
【0029】
プロセスプラント100のいくつかの構成では、無線ネットワーク170は、非無線デバイスを含む。例えば、図2では、図2のフィールドデバイス148、は従来の4~20mAデバイスであり、フィールドデバイス150は有線HART(登録商標)デバイスである。ネットワーク170内で通信するために、フィールドデバイス148、150は、それぞれの無線アダプタ152A、152Bを介して無線通信ネットワーク170に接続される。無線アダプタ152A、152Bは、WirelessHARTのような無線プロトコルをサポートし、Foundation(登録商標)Fieldbus、PROFIBUS、DeviceNetなどの1つ以上の他の通信プロトコルもサポートすることができる。付加的に、いくつかの構成では、無線ネットワーク170は、無線ゲートウェイ135と有線通信する別個の物理デバイスであってもよいし、一体型デバイスとして無線ゲートウェイ135を備えてもよい1つ以上のネットワークアクセスポイント155A、155Bを含む。無線ネットワーク170はまた、1つの無線デバイスから無線通信ネットワーク170内の別の無線デバイスにパケットを回送するための1つ以上のルータ158を含むことができる。図2では、無線デバイス140~146及び152~158は、無線通信ネットワーク170の無線リンク160を介して、及び/またはプロセス制御データハイウェイ110を介して、相互に及び無線ゲートウェイ135と通信する。
【0030】
図2では、プロセス制御システム100は、データハイウェイ110に通信可能に接続された1つ以上のオペレータワークステーション171を含む。オペレータワークステーション171を介して、オペレータは、プロセスプラント100のランタイムオペレーションを閲覧し、監視し、ならびに、診断、是正、維持、及び/または必要とされる可能性のある他の措置を取ることができる。オペレータワークステーション171の少なくとも一部は、プラント100内またはプラント100の近くの様々な保護領域、例えばプラント100のバックエンド環境、に位置させることができ、状況によっては、オペレータワークステーション171の少なくともいくつかが遠隔地に位置するが、それにもかかわらずプラント100と通信可能に接続される。オペレータワークステーション171は、有線または無線のコンピューティングデバイスであってもよい。
【0031】
例示的なプロセス制御システム100は、構成アプリケーション172A及び構成データベース172Bを含むものとしてさらに示されており、これらの各々はまた、データハイウェイ110にも通信可能に接続される。上述したように、構成アプリケーション172Aの様々なインスタンスは、1つ以上のコンピューティングデバイス(図示せず)上で実行して、ユーザが、プロセス制御モジュールを作成または変更し、これらのモジュールをデータハイウェイ110を介してコントローラ111にダウンロードできるようにするとともに、オペレータがデータを表示し、プロセス制御ルーチン内のデータ設定を変更することができるオペレータインターフェイスを、ユーザが作成または変更することができるようにする。構成データベース172Bは、作成された(例えば、構成された)モジュール及び/またはオペレータインターフェイスを格納する。一般的に、構成アプリケーション172A及び構成データベース172Bは集中しており、プロセス制御システム100に対し単一の論理的な外観を有するが、構成アプリケーション172Aの複数のインスタンスは、プロセス制御システム100内に複数のインスタンスを同時に実行することができ、構成データベース172Bは、複数の物理的データ格納デバイスを経由して実装される。したがって、構成アプリケーション172A、構成データベース172B、及びそれらに対するユーザインターフェイス(図示せず)は、制御及び/または表示モジュール用の構成または開発システム172を含む。典型的には、必須ではないが、構成システム172のユーザインターフェースは、プラント100がリアルタイムで動作しているかどうかにかかわらず、構成エンジニア及び開発エンジニアによって利用されるので、オペレータワークステーション171は、プロセスプラント100のリアルタイム動作中にオペレータによって利用されるが(ここでは、同義的に、プロセスプラント100の「ランタ
イム」オペレーションと称される)、構成システム172のユーザインターフェースは、オペレータワークステーション171とは異なる。
【0032】
例示的なプロセス制御システム100は、データヒストリアンアプリケーション173A及びデータヒストリアンデータベース173Bを含み、それらの各々はまた、データハイウェイ110に通信可能に接続される。データヒストリアンアプリケーション173Aは、データハイウェイ110にわたって提供されたデータの一部または全部を収集し、長期格納のためにヒストリアンデータベース173Bにデータを履歴化または格納するように動作する。構成アプリケーション172A及び構成データベース172Bと同様に、データヒストリアンアプリケーション173A及びヒストリアンデータベース173Bは、集中化され、プロセス制御システム100に対して単一の論理的外観を有するが、データヒストリアンアプリケーション173Aの複数のインスタンスが、制御システム100内で同時に実行してもよく、データヒストリアン173Bは、複数の物理データ格納デバイスにわたって実装されてもよい。
【0033】
いくつかの構成では、プロセス制御システム100は、Wi-Fiまたは他のIEEE802.11準拠無線ローカルエリアネットワークプロトコルなどの他の無線プロトコル、WiMAXなどのモバイル通信プロトコル、LTE(Long Term Evolution)または他のITU-R(International Telecommunication Union Radiocommunication Sector)互換プロトコル、近距離無線通信(NFC)及びBluetoothなどの短波長無線通信、または他の無線通信プロトコルを使用して他のデバイスと通信する1つ以上の他の無線アクセスポイント174を含む。典型的には、そのような無線アクセスポイント174は、ハンドヘルドまたは他のポータブルコンピューティングデバイス(例えば、ユーザインターフェースデバイス175)が、無線ネットワーク170とは異なり、無線ネットワーク170とは異なる無線プロトコルをサポートするそれぞれの無線プロセス制御通信ネットワークにわたって通信することを可能にする。例えば、無線またはポータブルユーザインターフェースデバイス175は、プロセスプラント100内のオペレータ(例えば、オペレータワークステーション171の1つのインスタンス)によって利用されるモバイルワークステーションまたは診断テスト機器であってもよい。いくつかのシナリオでは、ポータブルコンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ111、フィールドデバイス115~122、または無線デバイス135、140~158)も、アクセスポイント174によってサポートされる無線プロトコルを使用して通信する。
【0034】
いくつかの構成では、プロセス制御システム100は、即時プロセス制御システム100の外部にあるシステムへの1つ以上のゲートウェイ176、178を含む。典型的には、そのようなシステムは、プロセス制御システム100によって生成または操作されるカスタマーまたはサプライヤである。情報、例えば、プロセス制御プラント100は、即時プロセスプラント100を別のプロセスプラントと通信可能に接続するためのゲートウェイノード176を含むことができる。付加的または代替的に、プロセス制御プラント100は、即時プロセスプラント100を、実験室システム(例えば、実験室情報管理システムまたはLIMS)、オペレータラウンド在庫管理システム、材料ハンドリングシステム、製品在庫管理システム、維持管理システム、生産スケジューリングシステム、気象データシステム、出荷及び処理システム、パッケージングシステム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムなどの公衆またはプライベートシステムに通信可能に接続することができるゲートウェイノード178を含むことができる。
【0035】
なお、図2は、例示的なプロセスプラント100に含まれる有限数のフィールドデバイス115~122及び140~146、無線ゲートウェイ135、無線アダプタ152、アクセスポイント155、ルータ158、及び無線プロセス制御通信ネットワーク170を有する単一のコントローラ111のみを示しているが、これは、例示的かつ非限定的な実施形態に過ぎないことに留意されたい。任意の数のコントローラ111を、プロセス制御プラントまたはシステム100に含めることができ、コントローラ111のいずれかは、任意の数の有線または無線デバイス及びネットワーク115~122、140~146、135、152、155、158、170と通信してプラント100内のプロセスを制御することができる。
【0036】
図3は、図1の例示プロセスプラント100の例示的なセキュリティアーキテクチャ200のブロック図を示す。参照として、セキュリティアーキテクチャ200の様々な部分が含まれ得るセキュリティレベルを示すために、図1の様々なレベルのセキュリティ0~5が、図3の上部を経由して描かれているが、しかしながら、この参照は、図3に示されたものとは異なるセキュリティレベル内にセキュリティアーキテクチャ200の様々な部分が収納され得るようなガイドラインに過ぎない。
【0037】
図3に示すように、1つ以上のデバイス202は、例えば、図1の無線ゲートウェイ135のインスタンスであり得る1つ以上の無線ゲートウェイ205A、205Bに通信可能に接続される。前述したように、無線ゲートウェイ205A、205Bは、セキュリティレベル1及び/またはセキュリティレベル2、例えばプロセスプラント100自体に位置してもよい。ゲートウェイ205A、205Bとデバイス202との間の通信接続は、参照番号204A、204Bで示されている。
【0038】
デバイス202のセットは、プロセスプラント100のセキュリティレベル0にあるものとして示されており、有限数の無線フィールドデバイスを含むものとして示されている。しかしながら、デバイス202に関する本明細書に記載された概念及び特徴は、プロセスプラント100の任意の数のフィールドデバイスだけでなく、任意のタイプのフィールドデバイスにも容易に適用できることが理解される。例えば、フィールドデバイス202は、プロセスプラント100の1つ以上の有線通信ネットワーク110を介して無線ゲートウェイ205A、205Bに通信可能に接続された1つ以上の有線フィールドデバイス115~122を含むことができ、及び/またはフィールドデバイス202は、無線アダプタ152A、152Bに結合され、それによって無線ゲートウェイ205A、205Bに結合された有線フィールドデバイス148、150を含むことができる。
【0039】
さらに、デバイス202のセットは、プロセスデータを生成するフィールドデバイスだけに限定されず、プロセスプラント100がオンラインプロセスを制御する結果としてデータを生成するプロセスプラント100内の任意のデバイスまたは構成要素を付加的または代替的に含み得ることが理解される。例えば、デバイス202のセットは、診断データを生成する診断デバイスまたは構成要素、プロセスプラント100の様々な構成要素及び/またはデバイスの間で情報を送信するネットワークルーティングデバイスまたは構成要素などを含むことができる。実際には、図2に示す構成要素のうちの任意の1つ以上(例えば、構成要素111、115~122、126、128、135、140~146、152、155、158、160、170、171~176、178)及び図2には示されていない他の構成要素は、遠隔システム210に配信するためのデータを生成するデバイスまたは構成要素202であってもよい。このように、デバイス202のセットは、本明細書では「データソース202」または「データソースデバイス202」と同義的に称される。
【0040】
図3は、プロセスプラント100に関して利用され得る、及び/またはプロセスプラント100が利用する遠隔アプリケーションまたはサービス208のセットをさらに示す。
遠隔アプリケーションまたはサービス208のセットは、1つ以上の遠隔システム210で実行またはホストされ、遠隔アプリケーション/サービス208のセットは、一般的にセキュリティレベル5以上であると見なされる。アプリケーションまたはサービス208の少なくとも一部は、リアルタイムデータがプロセスプラント100によって生成され、アプリケーションまたはサービス208によって受信されると、リアルタイムデータ上でリアルタイムで動作する。他のアプリケーションまたはサービス208は、より厳しいタイミング要件を必要とすることなく、プロセスプラント生成データを操作または実行することができる。遠隔システム210で実行されるかまたはホストされ、プロセスプラント100によって生成されるデータのコンシューマであるアプリケーション/サービス208の例は、プロセスプラント100で生成する状況及び/または事象を監視及び/または検出するアプリケーション及びプロセスプラント100で実行されているオンラインプロセス自体の少なくとも一部を監視するアプリケーションまたはサービスを含む。アプリケーション/サービス208の他の例は、プロセスプラント100によって生成されたデータ上で動作し、場合によっては、プロセスプラント生成データならびに他のプロセスプラントから生成され受信されたデータを分析して収集または発見された知識に基づいて動作し得る記述的及び/または規範的解析を含む。アプリケーション/サービス208のさらに別の例は、規範的機能、構成及び/または他のデータの修正、及び/または、例えば、別のサービスまたはアプリケーションの結果として、プロセスプラント100に再実装されるべき他の規範的変更を実装する1つ以上のルーチンを含む。アプリケーション及びサービス208のいくつかの例は、2016年9月23日に出願され、「分散産業性能監視のためのデータ分析サービス(Data Analytics Services for Distributed Industrial Performance Monitoring)」という名称の米国特許出願第15/274、519号、2016年9月23日に出願され、「分散産業性能監視及び分析(Distributed Industrial Performance Monitoring and Analytics)」という名称の米国特許出願第15/274、233号、2016年10月24日に出願され、「プロセスデバイス条件及びパフォーマンス監視(Process Device Condition and Performance Monitoring)」と題する米国特許出願第15/332、521号に記載されており、その全体の開示内容は参照により本明細書に組み込まれる。
【0041】
1つ以上の遠隔システム210は、ネットワークサーバの遠隔バンク、1つ以上のクラウドコンピューティングシステム、1つ以上のネットワークなど、任意の所望の方法で実装することができる。説明を容易にするために、本明細書では、1つ以上の遠隔システム210は、該用語が1つのシステム、2つ以上のシステム、または任意の数を指すことがあると理解されるが、単数時制、すなわち「遠隔システム210」を使用して参照される。
【0042】
一般的に言えば、セキュリティアーキテクチャ200は、デバイス202がインストールされ動作するプロセスプラント100のフィールド環境から、プロセスプラント100によって生成されたデータ上でコンシュームし、動作するアプリケーション及び/またはサービス208を提供する遠隔システム210にエンドツーエンドのセキュリティを提供する。このように、デバイス202及びプロセスプラント100の他の構成要素によって生成されたデータは、遠隔アプリケーション/サービス208による使用のために遠隔システム210に安全に転送されることができ、一方、サイバー攻撃、侵入、及び/または他の悪意のあるイベントからプラント100を保護する。特に、セキュリティアーキテクチャ200は、プロセスプラント100(例えば、プロセスプラント100の無線ゲートウェイ205A、205Bの間の)と遠隔システム210との間に配設されたフィールドゲートウェイ212、データダイオード215、及びエッジゲートウェイ218を含む。典型的には、必須ではないが、フィールドゲートウェイ212、データダイオード215
、及びエッジゲートウェイ218は、セキュリティレベル2~5に含まれる。
【0043】
セキュリティアーキテクチャ200の重要な態様は、データダイオード215である。データダイオード215は、ハードウェア、ファームウェア及び/またはソフトウェアで実装される構成要素であり、特に、プロセスプラント100と遠隔システム210との間の双方向通信を防止するように構成されている。すなわち、データダイオード215は、データトラフィックがプロセス制御システム100から遠隔システム210に出ることを可能にし、データトラフィック(例えば、遠隔システム210または他のシステムから送信または送られる)がプロセス制御システム100に侵入することを防止する。
【0044】
したがって、データダイオード215は、フィールドゲートウェイ212に通信可能に接続された少なくとも1つの入力ポート220と、エッジゲートウェイ218に通信可能に接続された少なくとも1つの出力ポート222とを含む。データダイオード215はまた、その入力ポート220をその出力ポート222に接続する他の好適な技術の光ファイバまたは通信リンクを含む。データトラフィックがプロセス制御システム100に流れる(例えば、そこに進入する)のを防ぐために、例示的実装形態では、データダイオード215は、エッジゲートウェイ218(またはより高いセキュリティレベルの他の構成要素)からデータを受信する入力ポートを除外または省略し、及びまたはフィールドゲートウェイ212(またはより低いセキュリティレベルの他の構成要素)にデータを送信するために出力ポートを除外または省略する。付加的または代替的な実装形態では、データダイオード215は、データが出力ポート222から入力ポート220に流れることを可能にする送受信機を除外、省略、及び/または無効にし、及び/または出力ポート222から入力ポート220にデータが流れるための物理的な通信経路を除外する。さらに付加的または代替的に、データダイオード215は、ソフトウェアを介して、例えば、エッジゲートウェイ218(またはより高いセキュリティレベルの構成要素)から出力ポート222で受信された任意のメッセージをドロップまたはブロックすることによって、及び/またはフィールドゲートウェイ212(またはより低いセキュリティレベルの構成要素)宛ての任意のメッセージをドロップまたはブロックすることによって、入力ポート220から出力ポート222への単方向データフローのみをサポートすることができる。
【0045】
プロセスプラント100から出て、データダイオード215を経由して入力ポート220から出力ポート222に送信されたデータは、暗号化によってデータダイオード215を経由してさらにセキュリティ保護されてもよい。一例では、フィールドゲートウェイ212は、データを暗号化し、暗号化されたデータを入力ポート220に配信する。別の例では、データダイオード215は、フィールドゲートウェイ212からデータトラフィックを受信し、データダイオード215は、データを出力ポート222に送信する前に、受信したデータトラフィックを暗号化する。データダイオード215を経由して暗号化されて送信されるデータトラフィックは、一例ではUDP(User Datagram Protocol)データトラフィックであり、別の例ではJSONデータトラフィックまたは他の汎用通信フォーマットであってもよい。
【0046】
フィールドゲートウェイ212は、データダイオード215の下位セキュリティ側をプロセス制御プラント100に通信可能に接続する。図3に示すように、フィールドゲートウェイ212は、プロセスプラント100のフィールド環境内に配設され、1つ以上のデバイスまたはデータソース202に通信可能に接続された無線ゲートウェイ205A、205Bに通信可能に接続される。前述したように、デバイスまたはデータソース202及び無線ゲートウェイ205A、205Bは、WirelessHART工業プロトコルまたは1つ以上のセキュリティ機構を介して安全な通信を提供するように構成された他の適切な無線プロトコルを使用して通信することができる。例えば、WirelessHART工業プロトコルは128ビットAES暗号化を提供し、それに応じて通信経路204A
、204Bを保護することができる。
【0047】
付加的に、無線ゲートウェイ205A、205Bとフィールドゲートウェイ212との間の通信接続225は、通信接続204A、204Bに利用されるのと同じまたは異なるセキュリティ機構を使用してそれぞれセキュリティ保護される。一例では、通信接続225は、TLS(Transport Layer Security)ラッパーによってセキュリティ保護される。例えば、無線ゲートウェイ205A、205Bは、HART-IPフォーマットのパケットを生成し、フィールドゲートウェイ212への転送のためにTLSラッパーによってセキュリティ保護される。
【0048】
したがって、一実施形態では、前述したように、デバイス202によって生成されたデータまたはパケットは、第1のセキュリティ機構を使用して無線ゲートウェイ205A、205Bへの転送204A、204Bのためにセキュリティ保護され、その後、第2のセキュリティ機構を使用して無線ゲートウェイ205A、205Bから、フィールドゲートウェイ212への転送225のためにセキュリティ保護され、第3のセキュリティ機構を使用してデータダイオード215を経由して転送するために引き続きセキュリティ保護され得る。
【0049】
ここで、データダイオード215のより上位セキュリティ側に向けると、データダイオード215から出るデータトラフィックは、所望されれば、第4のセキュリティ機構を使用することによって、またはセキュリティ機構のうちの1つを使用することによって、上述したデータダイオード215のより下位セキュリティ側で使用されるセキュリティ機構のうちの1つを使用することによって、エッジゲートウェイ218への転送のためにセキュリティ保護され得る。付加的に、または代替的に、図3に示すように、エッジゲートウェイ218は、図1のファイアウォール12Cまたは別のファイアウォールであってもよいファイアウォール228によって保護されてもよい。
【0050】
エッジゲートウェイ218から遠隔システム210へのデータ転送は、プライベート企業ネットワーク、インターネット、セルラールータ、バックホールインターネットまたは他のタイプのバックホール接続などの1つ以上の公衆及び/またはプライベートネットワークを使用して配信することができる。注目すべきことに、エッジゲートウェイ218から遠隔システム210へ転送するデータは、第5のセキュリティ機構を使用することによって、または前述のセキュリティ機構の1つを使用することによってセキュリティ保護される。図3は、遠隔システム210に設けられたトークンサービス230を介して管理されることができるSAS(Shared Access Signature)トークンを介してセキュリティ保護されているとして、エッジゲートウェイ218から遠隔システム210に配信されるデータトラフィックを示す。エッジゲートウェイ218は、トークンサービス230を認証し、限られた時間期間、例えば2分、5分、30分、1時間を超えて有効である可能性のあるSASトークンを要求する。エッジゲートウェイ218は、コンテンツデータがエッジゲートウェイ218から遠隔システム210に送信される遠隔システム210へのAMQP(アドバンストメッセージキュープロトコル(Advanced Message Queuing Protocol))接続をセキュリティ保護し、認証するためにSASトークンを受信し、使用する。当然のことながら、エッジゲートウェイ218と遠隔システム210との間のデータ転送をセキュリティ保護するためのSASトークン及びAMQPプロトコルの使用は、多くの可能性のあるセキュリティ機構のうちの1つに過ぎない。例えば、X.509証明書、他のタイプのトークン、MQTT(MQ Telemetry Transport)またはXMPP(Extensible Messaging and Presence Protocol)などの他のIOTプロトコルなどの任意の1つ以上の好適な、Internet-Of-Things(IOT)セキュリティ機構が、エッジゲートウェイ218と遠隔システム210との
間のデータ転送をセキュリティ保護するために利用することができる。これらの他の実施形態では、サービス230は、例えば、適切なセキュリティトークンまたは証明書を提供及び/または発行する。
【0051】
遠隔システム210において、ユーザ認証及び/または許可は、任意の1つ以上の好適な認証及び/または許可セキュリティ機構232によって提供される。例えば、遠隔システム210への安全なアクセスは、ドメイン認証サービス、APIユーザ認証サービス、及び/または任意の他の好適な認証及び/または許可サービス232によって提供されてもよい。したがって、認証及び/または許可サービス232を介して認証及び/または許可されたユーザ235のみが、遠隔システム210で利用可能な少なくとも一部のデータ、とりわけ、データデバイス202によって生成されたデータを含むデータにアクセスすることができる。
【0052】
したがって、上述のように、セキュリティアーキテクチャ200は、プロセスプラント100内で動作して、例えばその送信を介してデータソース202によるデータの開始から遠隔システム210へ1つ以上の遠隔アプリケーションまたはサービス208によって操作されるプロセスを制御する間に、デバイスまたはデータソース202によって生成されたデータに対してエンドツーエンドのセキュリティを提供する。重要なことに、セキュリティアーキテクチャ200は、このエンドツーエンドのセキュリティを提供し、プロセスプラント100で悪意のある攻撃が発生するのを防止する。
【0053】
なお、図3は、デバイスまたはデータソース202をフィールドゲートウェイ212に通信可能に接続する無線ゲートウェイ205A、205Bを示しているが、いくつかの構成では、無線ゲートウェイ205A、205Bのうちの1つ以上が省略され、ソースデータがデータソース202から直接フィールドゲートウェイ212に送信されることに留意されたい。例えば、データソース202は、プロセスプラント100のビッグデータネットワークを介してフィールドゲートウェイ212にソースデータを直接送信することができる。一般的に、プロセスプラント100のビッグデータネットワークは、バックボーンプラントネットワーク110ではなく、またはビッグデータネットワークは、工業用通信プロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HARTなど)を使用してデバイス間で制御信号を送信するために使用される工業用プロトコルネットワークでもない。むしろ、プロセスプラント100のビッグデータネットワークは、例えばデータ処理及び解析目的のためにノード間でデータを流すプロセスプラント100用に実装されたオーバーレイネットワークであってもよい。ビッグデータネットワークのノードは、例えば、データソース202、無線ゲートウェイ205A、205B、及びフィールドゲートウェイ212、ならびに図2に示す、構成要素111、115~122、126、128の任意の1つ以上、135、140、146、152、155、158、160、170、171~176、178及び他の構成要素を含むことができる。したがって、プロセスプラントデータネットワークの多くのノードには、典型的には、工業通信プロトコルを利用するプロセスプラントオペレーションのための指定インターフェースと、例えばストリーミングプロトコルを利用するデータ処理/分析オペレーションのための別の指定インターフェースが含まれる。プロセスプラント100において利用され得るビッグデータネットワークの例は、「プロセス制御システムにおける地域的ビッグデータ(Regional Big Data in Process Control Systems)」と題する、2014年10月6日に出願された、米国特許出願第14/507、188号に記載され、参照により本明細書に組み込まれる。
【0054】
いくつかの実施形態では、図3に関して、有線ゲートウェイ(図示せず)を無線ゲートウェイ205A、205Bのうちの1つの代わりに利用することができることにさらに留意されたい。さらに、フィールドゲートウェイ212、データダイオード215、及びエッジゲートウェイ218は、図3に示すボックス236によって示されるように、物理的に同じ場所に位置してもよく、または構成要素212、215、218のうちの1つ以上は、複数の場所を経由して物理的に位置してもよい。例えば、フィールドゲートウェイ212、データダイオード215、またはエッジゲートウェイ218のうちの1つ以上が、プロセスプラント100に配設されてもよい。付加的に、または代替的に、フィールドゲ
ートウェイ212、データダイオード215、またはエッジゲートウェイ218のうちの1つ以上が、プロセスプラント100から遠隔地に配設されてもよい。
【0055】
プロセスプラント100は、所望されれば、複数のフィールドゲートウェイ212によってサービスされてもよく、任意の数のフィールドゲートウェイ212が単一のエッジゲートウェイ218によってサービスされてもよい。いくつかの実施形態では、遠隔システム210は、所望されれば、複数のエッジゲートウェイ218によってサービスされる。
【0056】
前述したように、データダイオード215を経由して転送されるデータトラフィックはセキュリティ保護される。そのようなデータトラフィックは、例えば、シリアル通信またはUDP通信を使用することによって、データダイオード215を経由して通信され得る。しかしながら、双方向通信なしでこのような通信をセキュリティ保護することは困難かつ扱いにくく、一般的にUDP通信とシリアル通信の両方は、両方に双方向通信(データダイオード215を使用することは不可能である)するだけでなく、長いキーシーケンスを記憶し、入力する必要がある。したがって、従来の双方向通信を使用して単方向データダイオード215を経由してデータ転送をセキュリティ保護するのではなく、転送されたデータを、エッジゲートウェイ218とフィールドゲートウェイ212との間で利用されるセキュリティプロビジョニングプロセスを介してセキュリティ保護することができる。セキュリティプロビジョニングプロセスは、エッジゲートウェイ218とフィールドゲートウェイ212(例えば、対称キーまたは対称マテリアル)、例えば、結合キー、の間で共有化される固有の初期キーまたは機密マテリアルを確立する。結合キーを使用して、エッジゲートウェイ218及びフィールドゲートウェイ212は、データダイオード215を経由して安全にデータトラフィックを転送するために利用されるさらなるキーまたは機密マテリアルを交換するために使用される安全な接続を確立する。
【0057】
図4は、セキュリティプロビジョニングプロセスに使用され得る例示的なメッセージフロー250を示す。図4では、フィールドゲートウェイ212及びエッジゲートウェイ218は、両方、フィールドゲートウェイ212をエッジゲートウェイ218にプロビジョニングするためにユーザによって操作されるプロビジョニングサーバまたはコンピューティングデバイス252と同様に、プロビジョニングネットワーク(例えば、同じサブネット、図示せず)上に含まれる。プロビジョニングネットワークを介して、一実施形態では、フィールドゲートウェイ212及びエッジゲートウェイ218は、例えばTCPタイプの通信を使用して、プロビジョニングをセットアップするために相互に一時的に双方向に通信することができる。
【0058】
例えば、参照番号255で、ユーザは、プロビジョニングデバイス252を介してエッジゲートウェイ218のユーザインターフェース(UI)にログインし、それに対して認証される。例えば、エッジゲートウェイ218のUIは、ウェブインターフェース、または他の何らかの好適なUIであってもよい。エッジゲートウェイ218のプロビジョニングページまたは表示ビューを介して、ユーザは、フィールドゲートウェイ212のアドレス(例ではIPアドレスであってもよい)を入力し(参照番号258)、エッジゲートウェイ218にフィールドゲートウェイ212のためのホワイトリストエントリーを作成させる(参照番号260)。その後、エッジゲートウェイ218は、データ移送に使用されるフィールドゲートウェイ212の資格情報をプロビジョニングデバイス252に要求す
る(参照番号262)。
【0059】
エッジゲートウェイの要求に応答して、ユーザは、プロビジョニングデバイス252を介して、フィールドゲートウェイ212の認可及びセキュリティ情報を提供する(参照番号265)。該認可情報及びセキュリティ情報は、典型的には(必ずしもそうではないが)、フィールドゲートウェイ212と共有化されるべき初期キーマテリアルを含む。一例では、初期キーマテリアルは、128ビット、192ビット、または256ビットの結合キーを含み、パケット暗号化/復号化のため、及び場合によってはパケットに対して遂行されたMIC(メッセージ整合性チェック(Message Integrity Check))計算のために、ノンスの一部として使用される32ビットまたは64ビットのパケットカウンタを含む。例えば、パケットカウンタの値は、ネットワーク再生攻撃に対する防御を助けるために、各々の送信のノンスで増加、変更、または更新される。いずれにしろ、エッジゲートウェイ218は、初期キーマテリアルのローカルコピーを暗号化して格納し、初期キーマテリアルならびにエッジゲートウェイ218の1つ以上のアドレス(例えば、IPアドレス及び/またはエッジゲートウェイ218のMACアドレス)をフィールドゲートウェイ212に送信する(参照番号268)。フィールドゲートウェイ212で、フィールドゲートウェイ212が初期キーマテリアルのローカルコピーならびにエッジゲートウェイ218のアドレスを暗号化して格納し、エッジゲートウェイ218への受信を確認する(参照番号270)。
【0060】
その後、フィールドゲートウェイ212は、例えばUDPを使用することによって、データダイオード215を経由してエッジゲートウェイ218との単方向通信を開始する。具体的には、フィールドゲートウェイ212は、後続のメッセージの暗号化と整合性チェックに使用される新たにランダムに生成されたネットワークキー及びランダムに生成されたパケットカウンタ(例えば、ノンス及びMIC計算に使用される)を含む初期メッセージをエッジゲートウェイ218に送信する。新しいネットワークキー及びそれぞれのパケットカウンタは、初期キーマテリアル、例えば、結合キー及びそのそれぞれのパケットカウンタを使用して暗号化される(参照番号272)。エッジゲートウェイ218は、ローカルな場所に格納された初期キーマテリアルを使用して受信した初期メッセージを復号化し、新しいネットワークキー及びパケットカウンタを格納し(参照番号275)、パケットカウンタに格納されたネットワークキーを使用して、フィールドゲートウェイ212からその後受信したメッセージまたはパケットを復号化する。
【0061】
図4に示すように、エッジゲートウェイ218が、新しいネットワークキーを使用して暗号化され、新しいパケットカウンタ(参照番号278、280)を含むフィールドゲートウェイ212からの第1のメッセージを受信すると、セキュリティ保護されたプロビジョニングプロセスは完了したと見なされ、プロビジョニングデバイス252は、メッセージフロー250には、もはや含まれなくてもよいことに留意されたい。結果として、一実施形態では、エッジゲートウェイ218からフィールドゲートウェイ212へ通信するために利用された一時的な通信チャネル(例えば、参照で利用された268)が削除されたり、無効にされたり、利用できなくなったりする。しかしながら、フィールドゲートウェイ212は、格納されたネットワークキー及びパケットカウンタ(参照番号282)を使用して、単方向データダイオード215を経由してエッジゲートウェイ218にデータを送信し続け、エッジゲートウェイ218は、受信したメッセージを、格納されたカウンタ及びパケットカウンタを使用して復号化し続ける(参照番号285)。
【0062】
しかし、いくつかの実施形態では、フィールドゲートウェイ212及びエッジゲートウェイ218は、プロビジョニングデバイス252のネットワークからの切断時に、またはメッセージフロー250中の早期に、データダイオード215を経由して単方向通信に戻る。例えば、エッジゲートウェイ218は、初期の、結合キーマテリアルをフィールドゲ
ートウェイ212に送信すると単方向通信に戻り(参照番号268)、フィールドゲートウェイ212は、初期キーマテリアルの受信の確認を送信すると単方向通信に戻ることができる(参照番号270)。
【0063】
単方向データダイオード215を経由するデータ送信の堅牢性及び信頼性のために、フィールドゲートウェイ212は、エッジゲートウェイ218との新たなまたは更新されたネットワークキー材料を確立するために、別の初期化メッセージ及びそれぞれのランダムパケットカウンタを生成する。例えば、フィールドゲートウェイ212は、初期結合キーマテリアルを使用して暗号化され、新たまたは更新されたネットワークキーと、対応する新たなまたは更新されたパケットカウンタを含む別の初期化メッセージを送信する(参照番号288)。初期結合キーマテリアルは、フィールドゲートウェイ212及びエッジゲートウェイ218(例えば、参照番号265、268、270参照)に予め格納され、更新されたネットワークキー及びランダムパケットカウンタは、例えば、フィールドゲートウェイ212においてランダムに生成される。
【0064】
参照番号290において、エッジゲートウェイ218は、例えば、ホワイトリスト及び/または新しい初期化メッセージが受信されたアドレスをチェックすることによって、受信した初期化メッセージを検証する。エッジゲートウェイ218は、受信した新しい初期化メッセージが有効であると判断した場合、エッジゲートウェイ218は、ローカルな場所に格納された初期結合キーマテリアルを用いて初期化メッセージを復号化し、フィールドゲートウェイ212から受信される将来のメッセージの処理に利用するため新たな/更新されたネットワークキーを保存する。例えば、フィールドゲートウェイ212は、新たな/更新されたネットワークキー及びランダムパケットカウンタを使用して暗号化される後続のメッセージを送信し(参照番号292、295)、エッジゲートウェイ218は、格納された新たな/更新されたネットワークキー及びランダムパケットカウンタを使用して、受信したメッセージを復号化する(参照番号298、300)。
【0065】
フィールドゲートウェイ212は、反復的に、周期的に、または所望される際、例えば、ユーザコマンド発生または別のイベントの発生の結果として、更新されたまたは新たなネットワークキー及びそれぞれのランダムパケットカウンタを確立するために、新たなまたは更新された初期化メッセージ(例えば、参照275、288など)を送信することを繰り返す。フィールドゲートウェイ212とエッジゲートウェイ218との間の通信はデータダイオード215を経由する単方向であるため、フィールドゲートウェイ212は、エッジゲートウェイ218が実際にフィールドゲートウェイ212によって送信されたデータを受信していることを明示的に確認することはない。したがって、フィールドゲートウェイ212は、新たな/更新されたネットワークキー及び対応するランダムパケットカウンタを含む新たな/更新された初期化メッセージを反復的に送信することによって、フィールドゲートウェイ212とエッジゲートウェイ218との間で共有化されるネットワークキーマテリアルを再同期させることができる。この再同期技術により、エッジゲートウェイに障害が発生して交換または再起動されたとき、及び/またはパケットが欠落したときなど、エラーまたは障害状況中の回復が可能になる。ネットワークキーマテリアル再同期化の期間の長さは、アプリケーション依存性であり得、例えば、失われたパケットまたはデータに対するアプリケーション(例えば、アプリケーションまたはサービス208のうちの1つ)の許容差によって管理され、構成可能であり得る。
【0066】
したがって、上述したように、エッジゲートウェイ218(参照番号268)及びフィールドゲートウェイ212(参照番号270)に格納されている初期プロビジョニングされた結合キー及びランダムパケットカウンタまたはノンスマテリアルを利用して、初期ランダムネットワークキー及びランダムパケット開始カウンタ(275)を提供する初期の初期化メッセージを暗号化/復号化し、後続の通信は、初期化メッセージに含まれるラン
ダムネットワークキー及びパケットカウンタを利用してそこで送信されるデータを暗号化/復号化する。反復的に、周期的に、または、所望されるときに、フィールドゲートウェイ212は、初期結合キーマテリアルを使用して暗号化/復号化され、新たな/更新されたランダムネットワークキー及びランダムパケット開始カウンタを提供する新たなまたは更新された初期化メッセージを生成する(参照288)。新たな/更新された初期化メッセージの後に送信される通信は、その中で送信されるデータを暗号化/復号化するための新たな/更新されたランダムネットワークキー及びパケットカウンタの影響を受ける。したがって、エッジゲートウェイ218は、新しいネットワークキー情報に移行する際に故障により到着しない可能性のあるパケットをある時間の間に処理することができるように、以前に使用されたネットワークキー情報及び新しいネットワークキー情報を同時に格納することができる。
【0067】
図4に示すように、メッセージフロー250は、プロビジョニングネットワーク及びプロビジョニングデバイス252を利用して、フィールドゲートウェイ212とエッジゲートウェイ218との間の安全なプロビジョニングプロセスを遂行する。しかしながら、これは多くの可能な実施形態のうちの1つに過ぎない。
【0068】
例えば、別の実施形態では、フィールドゲートウェイ212及びエッジゲートウェイ218は、プロビジョニングネットワーク上になく、同じネットワーク上にいなくてもよい。この実施形態では、フィールドゲートウェイ212及びエッジゲートウェイ218を安全にプロビジョニングするために、ユーザはエッジゲートウェイ218に直接認証し、セキュリティ情報またはフィールドゲートウェイ212を記述するデータを提供する。例えば、ユーザは、エッジゲートウェイ218でそのホワイトリストエントリーのためにフィールドゲートウェイ212のIPアドレスを提供し、ユーザは、例えば、図4の参照265によって上で議論したのと同様の方法で、セキュリティ情報または初期キーマテリアルを提供する。セキュリティ情報は暗号化され、フィールドゲートウェイ212との通信に使用するためにエッジゲートウェイ218に格納される。付加的に、暗号化されたセキュリティ情報は、それぞれ暗号化され得る別々のファイルに保存される。別々のファイルは、例えば、ユーザによって、フィールドゲートウェイ212に転送される。ユーザはフィールドゲートウェイ212を直接認証し、フィールドゲートウェイ212で使用するために別個のファイルを提供する。フィールドゲートウェイ212は、別個のファイルを検証し(必要に応じてファイルを復号化する)、その中に格納されているセキュリティ情報(例えば、初期キーマテリアル)を取得し、取得したセキュリティ情報を暗号化し、データダイオード215を経由してエッジゲートウェイ218との将来の通信に使用するために暗号化されたセキュリティ情報をローカルな場所に格納する。
【0069】
別の実施形態では、UDPの代わりに、シリアル通信を使用してデータダイオード215を経由してデータが転送される。この実施形態では、セキュリティ保護されたプロビジョニングプロセスは、フィールドゲートウェイ212及びエッジゲートウェイ218をプロビジョニングするために上述したものと同様であってもよく、ゲートウェイ212、218は、プロビジョニングネットワーク上に存在しないか、または別個のネットワーク上にある。
【0070】
いくつかの実装形態では、セキュリティ保護されたTCP、UDP、及び/またはデータダイオード215を経由するシリアル通信の下に、データダイオード215を経由してプロセスプラントで生成されたデータを送信するために利用される通信プロトコルは、修正HART-IPプロトコルであってもよいし、例えばFieldbusのような、任意の既知の工業通信プロトコルへの修正であってもよい。
【0071】
HART-IPプロトコルを例示的であるが非限定的な例として使用するために、HA
RT-IPプロトコルを活用して、プロセスプラント100内で動作するデバイス102から遠隔システム210へのエンドツーエンド通信に対する付加的なセキュリティをさらに提供することができる。特に、HART-IP及びHARTに含まれるパブリッシングメカニズムは、データダイオード215を経由して単方向通信をサポートするために独特の方法で活用され、その結果、プロセスプラント100で生成されたデータが、データダイオード215を経由してフィールドゲートウェイ212とエッジゲートウェイ218との間で送信されるメッセージまたはパケットを介して遠隔アプリケーション208に配信され得る(例えば、図4の参照番号278、282、292、295によって示されるように)。
【0072】
修正されたHART-IPプロトコルパケットは、トークンパッシングデータリンク層フレームフォーマット(Token-Passing Data-Link Layer
Frame Format)であってもよく、及び/または直接/無線パケットフォーマット(Direct/Wireless Packet Format)であってもよい。例えば、HART-IPヘッダは、セキュリティタイプの指標(例えば、ヘッダのメッセージタイプ(Message Type)フィールドの値として)などのセキュリティ情報を含むように修正されてもよく、Hart-IPセッション初期化メッセージは、初期セキュリティキーマテリアル情報及び/または他のHARTメッセージタイプ(例えば、リクエスト(Request)、リスポンス(Response)など)は、ネットワークセキュリティキーフィールド及びネットワークセキュリティカウンタフィールドを含むようにされてもよい。
【0073】
データダイオード215を経由する通信をセキュリティ保護するための修正されたHART-IPプロトコルの使用例を、図5に示す。図5は、1つ以上の送信デバイス402によって生成されたプロセスプラントデータを、データダイオード215を経由して1つ以上の受信デバイス405に配信するために使用され得る例示的なメッセージフロー400を示す。一般的に言えば、送信デバイス402は、最初に受信デバイス405にディスカバリ情報を提供して、データダイオード215を経由して送信されるコンテンツまたはペイロードデータのコンテキストを設定する。ディスカバリ情報は、受信デバイス405が、どのデータ生成構成要素またはデバイスが、データダイオード215のプロセスプラント側にあるか、プロセスプラント側構成要素によって生成されるデータのタイプ及び/またはアイデンティティ、生成されたデータが受信デバイス405に到着すると予想される速度、様々なデータ生成構成要素またはデバイスの状態などを知ることを可能にする。重要なことに、ディスカバリ情報により、受信デバイス405が、データダイオード215の単方向性のために行うことができない受信デバイス405がデータダイオード215のプロセスプラント側の構成要素デバイスを問い合わせるまたは質問することを必要とせずに、受信デバイス405がこの知識を得ることができる。
【0074】
ディスカバリ情報が送信デバイス402によって受信デバイス405に供給された後、送信デバイス402は、例えば、送信デバイス402がソースデータを生成するとき、及び/または送信デバイス402がプロセスプラント100内の1つ以上の他の構成要素からソースデータを受信するときに、リアルタイムでディスカバー情報を提供されたコンテキストに従って、変更されたHART-IPプロトコルを使用して、データダイオード215を経由してコンテンツまたはペイロードデータをパブリッシュする。したがって、受信デバイス405は、送信デバイス402によってパブリッシュされるデータのサブスクライバであってもよい。
【0075】
付加的に、データダイオード215の単方向性のために、送信デバイス402は、受信デバイス405の状態を識別することができず(例えば、受信デバイス405が動作しているか、パワーサイクルされているか、切断されているかなど)、受信デバイス405が
送信されたデータを受信したかどうかを明示的に判定することはできない。したがって、送信デバイス402は、受信デバイス405に反復的に(例えば、周期的に、及び/または所望されるときに)、ディスカバリ情報を提供、送信、または告知するので、受信デバイス405が使用不能になった場合、送信デバイス402によって送信されるコンテンツまたはペイロードデータのコンテキストを迅速に(再)理解することができる。ディスカバリ情報を送信する間の時間期間の長さは、失われたパケットまたはデータについてのデータダイオード215の受信デバイス側のクライアントアプリケーション(例えば、遠隔アプリケーションまたはサービス208のうちの1つ)の許容差に依存し得、かつ構成可能であり得る。ディスカバリ情報はまた、データソース202及び/または無線ゲートウェイ205がプロセスプラント100に追加またはプロセスプラント100から除去される場合など、送信デバイス402側の変更が生じたときに送信されてもよい。
【0076】
送信デバイス402は、フィールドゲートウェイ212、無線ゲートウェイ205、データソースデバイス202、及び/またはプロセスプラント100内で動作する1つ以上の構成要素もしくはデバイスによって生成されたデータを提供する任意の他の構成要素であってもよい。受信デバイス405は、エッジゲートウェイ218、遠隔システム210を含む1つ以上のデバイス、及び/またはソースデータのコンシューマであるクライアントアプリケーション(例えば、遠隔アプリケーションまたはサービス208のうちの1つ)であってもよい。しかしながら、図5では、説明を簡単にするために、メッセージフロー400は、送信デバイス402が図3のフィールドゲートウェイ212であり、受信デバイス405は、図3のエッジゲートウェイ218であるかのように説明されるが、これは多数の可能な実施形態のうちの1つに過ぎないことが理解される。
【0077】
コンテキスト設定フェーズ408中、送信デバイス402は、データがデータダイオード215を経由して送信されるべきプロセスプラント100の各々のデータソースを記述するそれぞれの情報を送信する。記述データソース情報は、例えば、データソースのアイデンティティ(例えば、一意の識別子、デバイスタグなど)、データのアイデンティティ(例えば、プライマリ変数(PV)、セカンダリ変数(SV)、第3変数(TV)、第4変数(QV)などの1つ以上のそのダイナミック変数へのマッピング情報を含むことができる)、識別されたデータが到着すると予想される速度の指標(例えば、バースト構成情報)、及び/または、例えばデータソースが通信可能に接続された特定のゲートウェイを示すデータ、データソースの状態、そのゲートウェイの状態などのデータ及び/またはデータソースを記述する他の情報を含む。図5に示すように、一実施形態では、送信デバイス402は、コンテキスト設定フェーズ408中に、データソースデバイス202ごと、無線ゲートウェイ205ベースごとに反復する。例えば、送信デバイス402は、例えば無線ゲートウェイ205A、205Bのうちの1つであってもよい無線ゲートウェイ0(参照番号410)の記述情報を送信する。送信デバイス402は、例えば、修正されたHART-IPコマンド0、20、または74を使用することによって、無線ゲートウェイ0の記述情報を送信することができる。続いて、送信デバイス置402は、例えば修正されたHART-IPコマンド0、20、50、105、及び任意選択で、サブデバイスバーストマッピングのためのコマンド74及び101を使用して、ゲートウェイ0に通信可能に接続されたN個のデバイスの各々についてのそれぞれの記述情報を送信する(参照番号412)。このシーケンスは、M個のゲートウェイの各々について繰り返され、コンテキスト設定フェーズ408は、ゲートウェイM及びそのそれぞれのN個のデバイスに関する記述情報が受信デバイス405(参照415、418)に送信された後に終了する。
【0078】
パブリッシュフェーズ420中に、送信デバイス402は、コンテキスト設定フェーズ408中にコンテキストが設定されたデータソースデバイス202のいずれかのデータダイオード215を経由してソースデータをパブリッシュする。一例では、送信デバイス402は、修正されたHART-IPコマンド48または他の好適なHart-IPコマン
ドを使用することによって、データダイオード215を経由してソースデータをパブリッシュする。特定のソースデータは、ソースデータが送信デバイス402で、例えばデバイス202からそのそれぞれの無線ゲートウェイ205を介して受信される速度でパブリッシュされる。すなわち、プロセスプラント100のオンライン動作中、プロセスプラント100によって生成されたソースデータは、送信デバイス402によって受信されるとリアルタイムでデータダイオード215を経由してパブリッシュされる。プロセスプラント100のいくつかのデータ生成構成要素(例えば、データソースデバイス202のいくつか及び/または無線ゲートウェイ205の一部)は、データダイオード215を経由する配信のためにフィールドゲートウェイ212に直接データをパブリッシュしてもよいことに留意されたい。プロセスプラント100の他のデータ生成構成要素(例えば、データソースデバイス202及び/または無線ゲートウェイ205の他のもの)は、パブリッシュをサポートしていなくてもよく、フィールドゲートウェイ212は、これらのタイプのデバイス/ゲートウェイをポーリングして、これらのそれぞれのソースデータを受信してもよい。例えば、フィールドゲートウェイ212は、例えばHART-IPコマンド3または9を使用することによって、パブリッシュをサポートしないデバイス/ゲートウェイのバースト構成に基づいてポーリングすることができる。
【0079】
前述したように、所定の時間が経過した後、または所望されるときに、コンテキスト情報410~418の少なくとも一部が、送信デバイス402によって受信デバイス405に再送信または更新される。一実施形態では、ゲートウェイ0~M及びそれぞれのデバイス1~Nのコンテキストデータ410~418の全体が再送信または更新される。別の実施形態では、特定のデバイスに対する特定のコンテキストデータは、例えば、失われたデータまたはパケットに対する特定のコンシューマの許容差に基づいて、データの特定のコンシューマに必要とされる様々な異なる時間に再送信または更新される。これらの実施形態では、異なるデバイスは、これらのそれぞれのコンテキストデータが再送信または更新される異なる周期性または間隔を有することができる。
【0080】
付加的に、上記のメッセージフロー400は、データダイオード215がイーサネット接続されたデータダイオードである実施形態で説明されていることに留意されたい。しかしながら、所望されれば、直列接続されたデータダイオードにも同様の技術を容易に適用することができる。さらに、上記のメッセージフロー400は、HART-IPプロトコルを使用して説明されたが、メッセージフロー400のコンテキストフェーズ408及びデータ配信フェーズ420中において、他の通信プロトコルを利用することもできる。いくつかの構成例では、HART-IP以外の工業通信プロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HARTなど)を利用することができる。他の例示的な構成では、工業通信用に特に設計されていない他のプロトコルが、メッセージフロー400のコンテキストフェーズ408及びデータ配信フェーズ420中に利用されてもよい。
【0081】
例えば、一実施形態では、HART-IPを使用する代わりに、JSON(JavaScript Object Notation)フォーマットを使用してデータダイオード215を経由してパケットを送信することができる。この実施形態では、フィールドゲートウェイ212は、プロセスプラント100内の様々なデバイス及び構成要素から受信したデータを、データダイオード215を経由して配信するためのJSONフォーマットに変換する。所望されれば、追加の意味を持つラベル(例えば、「PV」ではなく「PRESSURE」、様々なデータ値に対するデバイス固有のラベルなど)を提供するなど、JSONパケットデータの拡張を追加できる。
【0082】
さらに、上記の図5の説明は、送信ゲートウェイ402がフィールドゲートウェイ212であり、受信デバイス405がエッジゲートウェイ218であるかのように生成するメ
ッセージフロー400を説明しているが、これは多くの実施形態のうちの1つに過ぎない。例えば、メッセージフロー400の他の実施形態では、送信デバイス402は、フィールドゲートウェイ212、無線ゲートウェイ205、データソースデバイス202、及び/またはプロセスプラント100内で動作する1つ以上の構成要素またはデバイスによって生成されたデータを提供する任意の他の構成要素、及び受信デバイス405は、エッジゲートウェイ218、遠隔システム210を含む1つ以上のデバイス、及び/またはソースデータのコンシューマであるクライアントアプリケーション(例えば、遠隔アプリケーションまたはサービス208のうちの1つ)であってもよい。例えば、クライアントアプリケーション208の第1のものは、データダイオード215を経由してパブリッシュされた特定のデバイス202によって生成されたデータにサブスクライブすることができ、クライアントアプリケーション28の第2のものは、別の特定のデバイス202によって生成されたデータにサブスクライブすることができる。この例では、エッジゲートウェイ218は、受信データをそれぞれのデータサブスクライバに配信するためのルータとして機能することができる。別の例では、エッジゲートウェイ218は、受信した全てのデータをデータダイオード215を経由してパブリッシュし、様々なアプリケーション208は、エッジゲートウェイ218によってパブリッシュされた特定のデータにサブスクライブする。他のパブリッシャ/サブスクライバ関係も可能であり、本明細書で説明するセキュリティ保護された通信技術のいずれか1つ以上によってサポートされてもよい。
【0083】
さらに、セキュリティ保護された通信技術のうちの任意の1つ以上を、プロセスプラント100にローカルなシステム及び/またはデバイスに送信されるセキュリティ保護されたデータに容易に適用することができる。例えば、セキュリティアーキテクチャ200のそれぞれのデータダイオード215及び/またはインスタンスを使用して、プロセスプラント100のDMZ22を経由して選択された(または全ての)データをパブリッシュし、プロセスプラント100のセキュリティレベル0~3で生成されたデータDMZ22を介してレベル4~5の企業システムに、それぞれのデータダイオードを介して安全に配信される。別の例では、それぞれのデータダイオード215及び/またはセキュリティアーキテクチャ200のインスタンスは、プロセスプラント100に配設された1つ以上のデータソース202から選択された(または全ての)データをプロセスプラント100内またはローカルな場所に配設され、ローカルサービス及びアプリケーションをホストまたは提供する1つ以上のローカルサーバにパブリッシュするために利用することができる。このような構成は、例えば、ローカルなサービス及びアプリケーションが、ダウンロードされるか、または他の方法でオンラインプロセスプラント100に実装されるローカルな規範的変更を生成する場合に有益であるが、一般的に、規範的機能、構成及び/またはデータの修正、及び/または他の変更を、遠隔地に位置するアプリケーション及びサービス208によってプロセスプラント100に実装することができる。
【0084】
しかし、アプリケーション/サービス208によって決定される任意の規範的変更は、データダイオード215が、プロセスプラント100に関して出力方向において単方向であるため、データダイオード215以外の何らかの他の通信機構を介してプロセスプラント100に一般的に実装されることに留意されたい。例えば、プロセスプラント100への規範的変更を実施するために、遠隔アプリケーション/サービス208は、データダイオード215を介する以外の、オペレータワークステーション171、構成アプリケーション172A、構成データベース172Bなどのプロセスプラント100の1つ以上の管理またはバックエンド構成要素への接続を確立することができ、規範的変更はプロセスプラント100にダウンロードされるか、さもなければ配信される。実際、一実施形態では、データダイオード215及び/またはセキュリティアーキテクチャ200の別のインスタンスを、進入方向に確立して、遠隔アプリケーション/サービス208からプロセスプラント100への規範的変更を安全に配信することができる。
【0085】
さらに、一般的に言えば、遠隔システム210からプロセスプラント100への進入通信は、典型的には、出力データダイオード215及び/または出力セキュリティアーキテクチャ200以外の通信機構を利用する。例えば、遠隔システム210は、進入方向に適用されたデータダイオード215及び/またはセキュリティアーキテクチャ200の別のインスタンス、または他の何らかの好適なセキュリティ保護された接続または通信経路を利用することができる。
【0086】
ここで、プロセスプラント100からのセキュリティ保護された出力通信に戻ると、図6は、図2のプロセスプラント100などのプロセスプラントから通信を安全に転送するための例示的な方法450のフロー図を示す。いくつかの実施形態では、方法450の少なくとも一部分は、1つ以上の固定コンピュータ読み取り可能メモリに格納されたコンピュータ実行可能命令またはコンピュータ読み取り可能命令のセットを実行することによって実装され、例えば、システム200の1つ以上のプロセッサによって実行される。例えば、方法450の少なくとも一部分は、フィールドゲートウェイ212または送信デバイス402のような、図1~5に示されるシステム200の1つ以上の構成要素によって遂行されてもよい。したがって、方法450は、図1~5を同時に参照して以下に説明されるが、しかしながら、これは説明を簡単にするためのものであって、限定目的のものではない。
【0087】
ブロック452において、方法450は、プロセスプラントの送信デバイスを受信デバイスでプロビジョニングすることを含む。送信デバイスは、(例えば、1つ以上の好適なネットワークを介して)プロセスプラントに通信可能に接続され、受信デバイスは、例えば、1つ以上の好適なネットワークを介して別のシステムに通信可能に接続される。他のシステムは、実行時、オペレーション中にプロセスプラントによって生成されたデータ、及び任意選択でプロセスプラントによって生成される他のデータ上で動作するように構成された1つ以上のアプリケーションまたはサービスをホストする。送信デバイスは、例えば、送信デバイス402であってもよく、受信デバイスは、例えば、図5に示す受信デバイス405であってもよい。このように、送信デバイス402は、フィールドゲートウェイ212、データソースデバイス202、無線ゲートウェイ205、またはプロセスプラント100の別の構成要素であってもよく、受信デバイスは、エッジゲートウェイ218、遠隔システム210、または遠隔システム210に含まれるコンピューティングデバイス、または遠隔システム210で実行されるアプリケーションまたはサービス208であってもよい。当然のことながら、送信デバイス及び/または受信デバイスの他の実施形態、例えば上述したもののいずれかが可能である。
【0088】
送信デバイス及び受信デバイスは、図3のデータダイオード215などのデータダイオードを介して相互接続される。データダイオードは、送信デバイスから受信デバイスに単方向通信を送信できるように構成され、受信デバイスから送信デバイスに通信が送信されないように構成されている(一実施形態では、初期プロビジョニングメッセージの他に)。
【0089】
受信デバイスへの送信デバイスのプロビジョニング(ブロック452)は、結合キーとも称される第1のキーを使用して遂行される。結合キーは、機密キーまたは共有化機密であってもよく、例えば、送信デバイス及び/または受信デバイスに通信可能に接続されたプロビジョニングデバイスを介して、または手動データ転送を介して、ユーザによって提供されてもよい。いくつかの構成では、第1のパケットカウンタ(結合パケットカウンタとも称される)または他のそれぞれのノンスマテリアルが、結合キーと共に提供される。結合キー及び/または結合パケットカウンタは、所望されれば、ランダムに生成されてもよい。
【0090】
いくつかの実施形態では、送信デバイスをプロビジョニングすること(ブロック452)は、受信デバイスから送信デバイスへの通信が結合キーを送信及び/または検証できるように一時的通信チャネルを確立することを含む。一時的通信チャネルは、データダイオードを介して確立されてもよいし、外部有線または無線接続、可搬型格納デバイスを介する手動転送などの他の何らかの通信接続を介して確立されてもよい。これらの実施形態では、受信デバイスによる結合キーの送信及び/または送信デバイスでの結合キーの受信時に、一時的通信チャネルは、失効、削除、または無効化される可能性がある。一般的に言えば、一時的通信チャネルは、送信デバイスと受信デバイスとの間で第1または結合キーを共有化する役割しか果たしない。初期キーマテリアル(例えば、結合キー及びそのそれぞれのパケットカウンタまたは他のノンスマテリアル)が共有化された後、初期キーマテリアルは、ローカルな場所に暗号化され、送信デバイス及び受信デバイスの両方にそれぞれ格納される。
【0091】
方法450は、例えば、送信デバイスによって、第1または結合キーを使用して初期化メッセージを暗号化すること(ブロック455)、及び暗号化された初期化メッセージをデータダイオードを経由して受信デバイスに提供することを含む(ブロック458)。初期化メッセージは、データダイオードを経由して送信デバイスから受信デバイスに送信される後続のメッセージまたはパケットを処理するために、送信デバイス及び受信デバイスによって利用される、本明細書ではネットワークキーとも称される第2のキーを内部に含む。第2のキーは、例えば、別の機密キーまたは共有化機密キーであってもよい。第2またはネットワークキーを使用して処理される後続のメッセージまたはパケットの少なくとも一部は、生成されたプロセスデータ、診断データ及び他のタイプのデータなどのプロセスを制御するためにリアルタイムで動作している間に、プロセスプラントによって生成されたデータを含むコンテンツまたはペイロードを含む。いくつかの構成では、第2のパケットカウンタ(ネットワークパケットカウンタとも称される)または他のそれぞれのノンスマテリアルが暗号化され、後続のメッセージ/パケットを処理する際に使用されるネットワークキーと共に提供される。ネットワークキー及び/またはネットワークパケットカウンタは、所望されれば、ランダムに生成されてもよい。
【0092】
したがって、方法450は、プロセスを制御するためにリアルタイムで動作している間に、プロセスプラントによって生成されたデータを送信デバイスで受信すること(ブロック460)、送信デバイスによって、また、ネットワークキー及び任意選択でネットワークパケットカウンタを使用して、ペイロードとしてプロセスプラント生成データを含む後続のメッセージ/パケットを暗号化すること(ブロック462)、そして暗号化された後続メッセージ/パケットをデータダイオードを経由して受信デバイスに提供すること(ブロック465)をさらに含む。このように、ブロック462、465において、少なくとも一部がプロセスプラントによって生成されたデータを含む後続のメッセージ/パケットは、共有化機密ネットワークキーを使用してデータダイオードを経由する転送のためにセキュリティ保護される。いくつかの実施形態では、所望されれば(図示せず)追加の暗号化によって、データダイオードを経由する転送のために、後続のメッセージ/パケットがさらにセキュリティ保護される。
【0093】
プロセスを制御するためにリアルタイムまたはオンライン動作中にプロセスプラントによって生成されたデータを受信すること(ブロック460)は、データ生成ソース(例えば、デバイスまたは構成要素202)からデータを直接受信すること、及び/またはデータ生成ソース(例えば、デバイスまたは構成要素202)からゲートウェイに送信されたデータをゲートウェイ(例えば、無線ゲートウェイ205)から受信することを含むことができる。送信デバイスで受信されるプロセスプラント生成データは、データ生成ソース(例えば、デバイスまたは構成要素202)によって、及び/またはゲートウェイ(例えば、無線ゲートウェイ205)によって、例えば、前述のような形態で、暗号化され、ラ
ップされ、さもなければセキュリティ保護されることができる。
【0094】
受信されたプロセスプラント生成データ(ブロック460)は、いくつかのデータ生成ソースデバイスが、例えば無線ゲートウェイ205及び/または送信デバイス402にそれぞれの生成されたデータをパブリッシュするときに、パブリッシュデータを含むことができる。他のデータ生成ソースデバイスは、それらのそれぞれの生成されたデータが送信デバイスで受信されるように(例えば、無線ゲートウェイ205及び/または送信デバイス402によって)ポーリングすることができる(ブロック460)。さらに、パブリッシュされ、ポーリングされ、またはそうでなければ受信される(ブロック460)かどうかにかかわらず、プロセスプラント生成データは、HART互換フォーマット、JSON互換フォーマット、または任意の好適な工業通信プロトコル汎用通信プロトコルに従う、他の好適なフォーマットであってもよい。
【0095】
前述したように、プロセスプラント生成データをペイロードとして含むメッセージ/パケットを暗号化すること(ブロック462)は、ネットワークキー及び任意選択でネットワークパケットカウンタを使用して、該メッセージ/パケットを例えばノンスマテリアルとして、暗号化することを含み、データダイオードを経由するメッセージ/パケットの転送は、データダイオードの単方向通信構成によってさらにセキュリティ保護される。
【0096】
付加的に、データダイオードを経由して暗号化された後続メッセージを受信デバイスに供給または送信すること(ブロック465)は、例えば、プロセスプラントの1つ以上のデータ生成デバイスの各々を記述するそれぞれのコンテキスト情報を、データダイオードを経由して受信デバイスに反復的に告知または送信することを含むことができる。それぞれのコンテキスト情報は、対象データ生成デバイスの識別子と、対象デバイスによって生成されたデータが送信またはパブリッシュされるそれぞれの速度と、対象データ生成デバイスの現在の状態の指標、及び/または図5に関して上述したような、対象データ生成デバイスを記述する他の情報と、を含む。
【0097】
コンテキスト情報を反復的に告知することは、一例では、データダイオードを経由して受信デバイスにコンテキスト情報を周期的に送信することを含むことができる。周期性の持続時間は、異なるタイプのコンテンツデータ、プロセスプラントのソースを生成する異なるデータ、及び/またはコンテンツデータの異なるコンシューマ(例えば、遠隔アプリケーション208)に対して異なることがある。例えば、特定のタイプのコンテンツデータの周期性の持続時間は、失われたパケット及び/または遅延のためのデータのコンシューマの許容誤差に基づくことができる。当然のことながら、送信デバイスが再起動した後、新しいデータ生成デバイスがプロセスプラントに追加されたとき、ユーザが指示したときなど、または所望されるときに、データダイオードを経由して受信デバイスにコンテキスト情報を告知することができる。
【0098】
さらに、コンテキスト情報を告知することは、一実施形態では、工業通信プロトコルの1つ以上のメッセージタイプを利用することを含むことができる。例えば、何らかのタイプのHART通信プロトコルがデータダイオードを経由して利用される場合、コンテキスト情報を告知することは、HARTコマンド0、20、50、74、105、及び任意選択でコマンド74及び101を使用することを含むことができる。別の実施形態では、コンテキスト情報を告知することは、JSONまたは他の何らかの好適な汎用通信プロトコルのような汎用通信プロトコルを使用して実装することができる。種々の工業通信プロトコルの様々なメッセージタイプは、一例では、告知に対応するように修正することができる。
【0099】
データダイオードを経由して暗号化された後続メッセージを受信デバイスに提供するこ
と(ブロック465)は、以前に送信されたコンテキスト情報に従って、データダイオードを経由してコンテンツデータを送信または転送することも含む。前述したように、コンテンツデータは、プロセスデータ、診断データなどのプロセスを制御するためにオンラインで動作している間に、プロセスプラントによって生成された動的データを含む。一実施形態では、データダイオードを経由して暗号化された後続メッセージを提供することは、例えば、上述したような形態で、データダイオードを経由してコンテンツデータをパブリッシュすることを含む。
【0100】
方法450は、第1のまたは結合キーを使用して第2の(例えば、後続の)初期化メッセージを暗号化することと(ブロック468)、暗号化された第2の初期化メッセージをデータダイオードを経由して受信デバイスに供給する(ブロック470)ことと、を含む。第2の初期化メッセージは、送信デバイスから受信デバイスへデータダイオードを経由して送信される後続のメッセージまたはパケットを処理するために、送信デバイス及び受信デバイスによって利用される更新されたまたは新たなネットワークキーを含む。更新されたまたは新たなネットワークキーは、ブロック452に関して論じた結合キーとは異なる別の共有化キーまたは共有化機密であってもよく、ブロック455、458に関して説明したネットワークキーとは異なる。後続のメッセージ/パケットを処理するためにも使用される、更新されたまたは新たなネットワークパケットカウンタは、更新されたまたは新たなネットワークキーと共にデータダイオードを経由して生成され、転送されてもよい。所望されれば、新たなまたは更新されたネットワークキー及び/またはパケットカウンタをランダムに生成することができる。
【0101】
したがって、ブロック468、470では、送信デバイス及び受信デバイスによって使用されてメッセージ/パケットを処理するネットワークキーが再同期される。この再同期化は、少なくともデータダイオードが単方向であり、したがって受信デバイスがその動作状態、メッセージの成功または不成功受信などに関するフィードバックを送信デバイスに供給することができないため重要である。しかしながら、ブロック468、470を介して、方法450は、ネットワークキーマテリアルを再同期させることによって、送信デバイスと受信デバイスとの間の通信切断をアドレス指定することができる。実際に、いくつかの実施形態では、ブロック468、470は、反復的に、周期的に、及び/または特定のイベントの生成に基づいて繰り返される(例えば、送信デバイスの再起動、ユーザが所望されるときに指示した際など)。周期性の持続時間は、例えば、失われたパケット及び/または遅延に対するコンテンツデータの1つ以上のコンシューマの許容誤差に基づくことができる。
【0102】
ブロック468、470に関して、受信デバイスは、例えば、送信された順序とは異なる順序でデータダイオードを介して到着するパケット処理のために、有限の期間、第1のネットワークキー/パケットカウンタ及び第2のネットワークキー/パケットカウンタの両方を維持する必要があり得ることに留意されたい。
【0103】
図7は、図2のプロセスプラント100などのプロセスプラントから通信を安全に転送するための例示的な方法500のフロー図を示す。いくつかの実施形態では、方法500の少なくとも一部分は、1つ以上の固定可読メモリに格納されたコンピュータ実行可能命令またはコンピュータ可読命令のセットを実行することによって実装され、例えば、システム200の1つ以上のプロセッサによって実行される。例えば、方法500の少なくとも一部は、図1~5に示されるエッジゲートウェイ218または受信デバイス405のような、システム200の1つ以上の構成要素によって遂行されてもよい。したがって、方法500は、図1図5を同時に参照して以下に説明されるが、これは説明を簡単にするためのものであり、限定的なものではない。
【0104】
ブロック502において、方法500は、プロセスを制御するためにリアルタイムで動作している間に、プロセスプラントによって生成されたデータをデータダイオードを介して受信することを含む。データダイオードは、単方向通信が送信デバイスから受信デバイスに送信される一方で、受信デバイスから送信デバイスへの通信が防止されるように構成されている。データダイオードを介して受信されるプロセスプラント生成データ(ブロック502)は、生成されたプロセスデータ、診断データ、及び他のタイプのデータを含むことができ、エッジゲートウェイ218または受信デバイス405などの受信デバイスで受信することができる。受信されたプロセスプラント生成データは、例えば、上述の暗号化技術によって、または他の何らかのセキュリティ機構によってセキュリティ保護されたセキュリティ保護されたデータであってもよい。
【0105】
ブロック505において、方法500は、データダイオードを経由して利用されたものと同じセキュリティ機構を含むことができる1つ以上のセキュリティ機構を使用して、受信したプロセスプラント生成データをセキュリティ保護することを含むか、または1つ以上の異なるセキュリティ機構を含むことができる。ブロック508において、方法500は、ブロック505でセキュリティ保護されたプロセスプラント生成データを、受信デバイスに通信可能に接続された別のシステムに送信することを含む。例えば、セキュリティ保護されたプロセスプラント生成データは、プロセスプラント生成データの1つ以上のアプリケーション、サービス、または他のコンシューマ208が常駐し実行する1つ以上の遠隔システム210に送信される。アプリケーション、サービスまたは他のコンシューマは、プロセスプラント生成データの少なくとも一部で動作してもよい。
【0106】
一実施形態では、受信したプロセスプラント生成データのセキュリティ保護すること(ブロック505)及びセキュリティ保護されたプロセスプラント生成データを他のシステムに送信する(ブロック508)ことは、受信デバイスと他のシステムとの間にセキュリティ保護された接続を確立することを含む。セキュリティ保護されたプロセスプラント生成データを他のシステムに送信すること(ブロック508)は、公衆インターネット、民間企業ネットワークなどの1つ以上の公衆/またはプライベートネットワークを介してデータを送信することを含むことができる。このように、受信デバイスと他のシステムとの間にセキュリティ保護された接続を確立することは、1つ以上の公衆及び/またはプライベートネットワークを介してセキュリティ保護された接続を確立することを含む。異なるタイプのコンテンツデータ、プロセスプラントのソースを生成する異なるデータ、及び/または所望されれば、コンテンツデータの異なるコンシューマに対して異なるセキュリティ保護された接続を確立することができる。
【0107】
一例では、受信デバイスと他のシステムとの間の接続は、トークンサービスを使用してセキュリティ保護される。受信デバイスは、他のシステムによって提供されるトークンサービスに対して認証し、認証に応答して、受信デバイスは、他のシステムからShared Access Signature(共有アクセス署名)(SAS)トークンを受信する。次いで、受信デバイスは、コンテンツデータ(例えば、プロセスプラント生成データ)を他のシステムに送信しながら、SASトークンを使用する。例えば、受信デバイスは、SASトークンを使用して、例えばAMQP(Advanced Message Queuing Protocol)接続を介して、他のシステムへの接続をセキュリティ保護し、認証する。付加的に、所望されれば、コンテンツデータ及びSASトークンは、他のシステムに送信する前に暗号化されてもよい。
【0108】
方法500はまた、受信デバイスと他のシステムとの間の接続を再セキュリティ保護することを含むことができる(ブロック510)。受信デバイスと他のシステム510との間の接続を再セキュリティ保護することは、例えば、他のシステムから(例えば、他のシステムのトークンサービスから)更新されたSASトークンまたは異なるSASトークン
を受信して、後続のコンテンツデータを送信するために使用することを含む。特定のSASトークンは、予め定義された満了期間(例えば、5分、10分、1時間未満、または他の満了期間、設定可能であり得る)を有することができる。トークンの満了時に、受信デバイスは、後続のメッセージに使用する新しいSASトークンを要求または取得することができる。代替的に、他のシステムは、前のトークンの満了時に使用する受信デバイス用の更新されたまたは新たなSASトークンを自動的に送信することができる。
【0109】
当然のことながら、受信デバイスと他のシステム(例えば、ブロック505、508、及び510)との間の接続のセキュリティ保護すること及び再セキュリティ保護することは、SASトークン及びAMQPプロトコルを利用するものとして説明したが、これは、方法500の様々な可能な実施形態の1つに過ぎない。任意の1つ以上の好適なIOTセキュリティ機構、例えば、X.509証明書、他のタイプのトークン、MQTTまたはXMPPなどの他のIOTプロトコルなどが、方法500によって利用されてもよい。
【0110】
本開示に記載された技術の実施形態は、以下の態様のうちの任意の数を単独でまたは組み合わせて含むことができる。
【0111】
1.プロセスプラントから別のシステムへの通信を安全に転送するための方法であって、フィールドゲートウェイにおいて、プロセスプラントのネットワークと、フィールドゲートウェイとエッジゲートウェイとの間の双方向通信を防止するように構成されたデータダイオードと、を相互接続し、データダイオードを経由してエッジゲートウェイに、プロセス制御プラントの1つ以上のデバイスの各々を記述するそれぞれのコンテキスト情報を反復的に告知することと,プロセスプラントがプロセスを制御するように動作している間に、1つ以上のデバイスの各々によって生成されたデータを、プロセスプラントネットワークにわたってフィールドゲートウェイで受信することと、フィールドゲートウェイによってデータダイオードを経由してエッジゲートウェイにプロセスプラントデータをパブリッシュすることと、を含む、方法。
【0112】
2.特定のデバイスを記述するそれぞれのコンテキスト情報を反復的に告知することが、特定のデバイスを記述するそれぞれのコンテキスト情報を周期的に送信することを含み、周期性が、失われたデータのアプリケーションの許容差に基づいており、アプリケーションが、特定のデバイスによって生成するデータのコンシューマであり、アプリケーションが、エッジゲートウェイに通信可能に接続される、先の態様に記載の方法。
【0113】
3.フィールドゲートウェイにおいて、1つ以上のデバイスの各々によって生成されたデータを受信することが、フィールドゲートウェイにおいて、HART-IP(登録商標)プロトコルを介して、1つ以上のデバイスの各々によって生成されたデータのうちの少なくとも一部を受信することを含む、先の態様1または2のいずれか1つに記載の方法。
【0114】
4.1つ以上のデバイスの各々によって生成されたデータのうちの少なくとも一部をHART-IPプロトコルを介して受信することが、1つ以上のデバイスの各々によってパブリッシュされたデータを受信することを含む、先の態様1~3のいずれか1つに記載の方法。
【0115】
5.フィールドゲートウェイによって、特定のデバイスにポーリングを送信することをさらに含み、フィールドゲートウェイにおいて、1つ以上の各々によって生成されたデータを受信することが、フィールドゲートウェイにおいて、ポーリングに応答して特定のデバイスによって生成されたデータを受信することを含む、先の態様1~4のいずれか1つに記載の方法。
【0116】
6.1つ以上のデバイスの各々によって生成されたデータを受信することが、診断結果を示すデータを受信することを含む、先の態様1~5のいずれか1つに記載の方法。
【0117】
7.1つ以上のデバイスの各々のそれぞれのコンテキスト情報を反復的に告知することが、コマンド0、コマンド20、コマンド50、コマンド74、またはコマンド105を含むHARTプロトコルコマンドの群からの少なくとも1つのHARTプロトコルコマンドを使用して、1つ以上のデバイスの各々についてそれぞれのコンテキスト情報を反復的に送信することを含む、先の態様1~6のいずれか1つに記載の方法。
【0118】
8.1つ以上のデバイスの各々のそれぞれのコンテキスト情報を反復的に告知することが、1つ以上のデバイスの各々の識別子の指標と、1つ以上のデバイスの各々によって生成されたデータが提供されるべきそれぞれの速度の指標と、を反復的に送信することを含む、先の態様1~7のいずれか1つに記載の方法。
【0119】
9.プロセスプラントデータをデータダイオードを経由してパブリッシュすることが、HART-IP(登録商標)プロトコルを使用してデータダイオードを経由してプロセスプラントデータをパブリッシュすることを含む、先の態様1~8のいずれか1つに記載の方法。
【0120】
10.プロセスプラントデータをデータダイオードを経由してパブリッシュすることが、JSONフォーマットを使用して、データダイオードを経由してプロセスプラントデータをパブリッシュすることを含む、先の態様1~9のいずれか1つに記載の方法。
【0121】
11.プロセスプラントから別のシステムへの通信を安全に転送するためのシステムであって、プロセスプラントのネットワークに通信可能に結合されたフィールドゲートウェイと、別のシステムに通信可能に結合されたエッジゲートウェイと、フィールドゲートウェイとエッジゲートウェイとを相互接続するデータダイオードであって、エッジゲートウェイによって送信された通信がフィールドゲートウェイに進入することを防止するように構成される、データダイオードと、を備え、プロセスプラントが、工業プロセスを制御するように動作している間に、プロセスプラントに含まれる1つ以上のデバイスによって生成されたデータが、プロセスプラントネットワークを介してフィールドゲートウェイにおいて受信され、フィールドゲートウェイによって、データダイオードを経由してエッジゲートウェイにパブリッシュされる、システム。
【0122】
12.態様1~10のいずれかに記載の方法の少なくとも一部を遂行するようにさらに構成された、態様11に記載のシステム。
【0123】
13.1つ以上のデバイスによって生成されたデータが、HART-IP(登録商標)プロトコルを使用してデータダイオードを経由してパブリッシュされる、態様11~12に記載のシステム。
【0124】
14.1つ以上のデバイスによって生成されたデータが、JSONフォーマットを使用してデータダイオードを経由してパブリッシュされる、態様11~13に記載のシステム。
【0125】
15.1つ以上のデバイスによって生成されたデータが、受信され、フィールドゲートウェイに提供される無線ゲートウェイをさらに含む、態様11~14に記載のシステム。
【0126】
16.無線ゲートウェイが、WirelessHART(登録商標)である、態様11~15に記載のシステム。
【0127】
17.無線ゲートウェイが、1つ以上のデバイスによって生成されたデータを、HART-IPプロトコルを使用してフィールドゲートウェイに提供する、態様11~16に記載のシステム。
【0128】
18.1つ以上のデバイスのうちの少なくとも1つが、それぞれのデータを前記無線ゲートウェイにパブリッシュする、態様11~17に記載のシステム。
【0129】
19.それぞれの生成されたデータがパブリッシュされる無線ゲートウェイが、それぞれの生成されたデータのサブスクライバである、態様11~18に記載のシステム。
【0130】
20.無線ゲートウェイが、1つ以上のデバイスのうちの少なくとも1つをポーリングして、それぞれの生成されたデータを取得する、態様11~19に記載のシステム。
【0131】
21.別のシステムで実行されるアプリケーションが、プロセスプラントに含まれる1つ以上のデバイスによって生成されたデータのうちの少なくとも一部のコンシューマである、態様11~20に記載のシステム。
【0132】
22.エッジゲートウェイが、プロセスプラントに含まれる1つ以上のデバイスによって生成されたデータのうちの少なくとも一部をパブリッシュし、別のシステムで実行されるアプリケーションが、エッジゲートウェイによってパブリッシュされたデータのサブスクライバである、態様11~21に記載のシステム。
【0133】
23.プロセスプラントが工業プロセスを制御するように動作している間に、1つ以上のデバイスによって生成されたデータが、1つ以上のデバイスによって生成された少なくとも1つの動的データまたは1つ以上デバイスの診断もしくは試験の結果として生成された診断データのうちの少なくとも1つを含む、態様11~22に記載のシステム。
【0134】
24.データダイオードが、イーサネット接続される、態様11~23に記載のシステム。
【0135】
25.データダイオードが、直列接続される、態様11~24に記載のシステム。
【0136】
26.フィールドゲートウェイが、データダイオードを経由してエッジゲートウェイに、1つ以上のデバイスの各々を記述するそれぞれの情報を、さらにパブリッシュする、態様11~25に記載のシステム。
【0137】
27.1つ以上のデバイスの各々を記述するそれぞれの情報が、1つ以上のデバイスの各々のそれぞれのアイデンティティの指標と、1つ以上のデバイスの各々によって生成されたデータがパブリッシュされるべきそれぞれの速度と、を含む、態様11~26に記載のシステム。
【0138】
28.1つ以上のデバイスの各々を記述するそれぞれの情報が、1つ以上デバイスの
各々の状態の指標をさらに含む、態様11~27に記載のシステム。
【0139】
29.別のシステムが、
プロセスプラントで起こる状態及び/または事象を監視することと、
【0140】
プロセスプラントで起こる状況及び/または事象を感知することと、プロセスプラントによって制御されているプロセスの少なくとも一部分を監視することと、生成されたデー
タを使用して記述的分析を遂行することと、生成されたデータを使用して規範的分析を遂行すること、または、生成されたデータに基づいて、プロセスプラントの少なくとも一部を修正するための規範的機能を生成することと、のうちの少なくとも1つのことを行うように構成される、態様11~28に記載のシステム。
【0141】
30.別のシステムが、少なくとも部分的に1つ以上のクラウドコンピューティングシステムで実装される、態様11~29に記載のシステム。
【0142】
31.先の態様のいずれかの他の1つと組み合わせる、先の態様のいずれか1つ。
【0143】
ソフトウェアとして実行される場合、本明細書において記載されるアプリケーション、サービス、及びエンジンのいずれも、磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ格納デバイス、または他の格納媒体のような任意の有形の固定のコンピュータ可読メモリに格納することができ、コンピュータまたはプロセッサのRAMまたはROMなどに格納することができる。本明細書において開示される例示的なシステムは、構成要素の中でもとりわけ、ハードウェア上で実行されるソフトウェア及び/またはファームウェアを含むものとして開示されているが、このようなシステムは、単なる例示に過ぎず、限定的に考えられてはならないことに留意されたい。例えば、これらのハードウェア構成要素、ソフトウェア構成要素、及びファームウェア構成要素のいずれか、または全てが、ハードウェアとして排他的に搭載される、ソフトウェアとして排他的に搭載される、またはハードウェア及びソフトウェアの任意の組み合わせとして搭載されるような構成が想到される。したがって、当該技術分野の当業者であれば、提供されるこれらの例が、このようなシステムを実現するための唯一の方法ではないことを容易に理解できるであろう。
【0144】
以上、本発明を例示のみを意図したものであって発明の限定を意図したものではない特定の例を参照して説明したが、発明の趣旨及び範囲を逸脱することなく、開示された実施形態に変更、追加、または削除を行ってよいことは、当該技術分野における当業者には明らかであろう。
図1
図2
図3
図4
図5
図6
図7