(57)【要約】  方法は、ネットワークを介して第１の分散制御システム（ＤＣＳ）ノード（２０２）において、セキュリティマネージャ（２０８）に関連付けられる情報を受け取るステップ（３０４）を含む。当該方法はまた、情報を使用して、ネットワークを介して第１のＤＣＳノードとセキュリティマネージャとの間に複数の通信チャネルを確立するステップ（３０６、３１０）であって、通信チャネルがセキュアでないチャネル及びセキュアなチャネルを含む、ステップを含む。当該方法は、さらに、セキュアでないチャネルを介して、第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティ認証情報を受け取るステップ（３０８）と、セキュアなチャネルを介して、第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取るステップ（３１２）とを含む。また、当該方法は、アクティブ化時間において、セキュリティポリシーを使用して、ネットワークを介して第２のＤＣＳノードと通信するように、第１のＤＣＳノードを移行させるステップ（３１６）を含む。
2017511024.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して第１の分散制御システム（ＤＣＳ）ノード（２０２）において、セキュリティマネージャ（２０８）に関連付けられる情報を受け取るステップ（３０４）と、
前記情報を使用して、前記ネットワークを介して前記第１のＤＣＳノードと前記セキュリティマネージャとの間に複数の通信チャネルを確立するステップ（３０６、３１０）であって、前記通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含む、ステップと、
前記セキュアでないチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティ認証情報を受け取るステップ（３０８）と、
前記セキュアなチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取るステップ（３１２）と、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記第１のＤＣＳノードを移行させるステップ（３１６）と
を含む、方法。
【請求項２】
前記セキュリティマネージャに関連付けられる情報を受け取るステップは、
ブートストラッププロトコル（ＢＯＯＴＰ）要求（４０２）を前記第１のＤＣＳノードからＢＯＯＴＰサーバ（２０６）に送るステップ（３０２）と、
前記第１のＤＣＳノードにおいて前記ＢＯＯＴＰサーバからＢＯＯＴＰ応答（４０４）を受け取るステップ（３０４）であって、前記ＢＯＯＴＰ応答は、前記セキュリティマネージャのネットワークアドレス及び前記セキュリティマネージャと通信するために使用するポートの識別子を含む、ステップと
を含む、請求項１に記載の方法。
【請求項３】
前記複数の通信チャネルを確立するステップは、
第１の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアでないチャネルを確立するステップ（３０６）と、
第２の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアなチャネルを確立するステップ（３１０）と
を含む、請求項１に記載の方法。
【請求項４】
前記複数の通信チャネルを確立するステップは、前記セキュアでないチャネルを確立した後であるが前記セキュアなチャネルを確立する前に、
前記セキュアでないチャネルを介して、加入要求（４０６）を前記第１のＤＣＳノードから前記セキュリティマネージャに送るステップ（３０６）と、
前記セキュアでないチャネルを介して前記第１のＤＣＳノードにおいて前記セキュリティマネージャから加入応答（４０８）を受け取るステップ（３０８）であって、前記加入応答は前記セキュリティ認証情報を表す証明書を含む、ステップと
をさらに含む、請求項３に記載の方法。
【請求項５】
前記加入応答を受け取るステップは、ユーザが前記加入要求を承認した後に前記セキュリティマネージャから前記加入応答を受け取るステップを含む、請求項４に記載の方法。
【請求項６】
セキュリティプロキシ（５０６）を介して前記セキュリティマネージャと間接的に通信するステップであって、前記セキュリティプロキシはサブネットワーク内に配置され、前記セキュリティマネージャは前記サブネットワークの外に配置される、ステップ
をさらに含む、請求項１に記載の方法。
【請求項７】
前記第２のＤＣＳノードと通信するように前記第１のＤＣＳノードを移行させるステップの前に、
前記第１及び第２のＤＣＳノードの両方が互いに安全に通信する準備ができていることを検証するために、ハンドシェイク動作を実行するステップ（３１４）
をさらに含む、請求項１に記載の方法。
【請求項８】
前記ハンドシェイク動作は４方向ハンドシェイク（４１６）を含み、前記４方向ハンドシェイクは、
前記第１のＤＣＳノードが、第１のポリシー更新メッセージを前記第２のＤＣＳノードに送り、前記第２のＤＣＳノードから第１の肯定応答を受け取ること、及び
前記第１のＤＣＳノードが、第２のポリシー更新メッセージを前記第２のＤＣＳノードから受け取り、前記第２のＤＣＳノードに第２の肯定応答を送ること
を含む、請求項７に記載の方法。
【請求項９】
第１の分散制御システム（ＤＣＳ）ノード（２０２）であって、
セキュリティマネージャ（２０８）に関連付けられる情報をネットワークを介して受け取るように構成される少なくとも１つのインターフェース（１４６、１５２）と、
前記情報を使用して、前記ネットワークを介して、前記第１のＤＣＳノードと前記セキュリティマネージャとの間にセキュアでないチャネル及びセキュアなチャネルを含む複数の通信チャネルを確立し、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して前記セキュリティマネージャからセキュリティ認証情報を受け取り、
前記少なくとも１つのインターフェースを介して、前記セキュアなチャネルを介して前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取り、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記少なくとも１つのインターフェースを移行させる
ように構成される少なくとも１つの処理装置（１４２、１４８）と
を含む第１のＤＣＳノードを備える、装置。
【請求項１０】
前記少なくとも１つの処理装置は、
前記少なくとも１つのインターフェースを介して、ブートストラッププロトコル（ＢＯＯＴＰ）要求（４０２）のＢＯＯＴＰサーバへの送信を開始し、
前記少なくとも１つのインターフェースを介して、前記ＢＯＯＴＰサーバからＢＯＯＴＰ応答（４０４）を受け取り、前記ＢＯＯＴＰ応答は、前記セキュリティマネージャのネットワークアドレス及び前記セキュリティマネージャと通信するために使用されるポートの識別子を含む
ように構成される、請求項９に記載の装置。
【請求項１１】
前記少なくとも１つの処理装置は、
第１の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアでないチャネルを確立し、
第２の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアなチャネルを確立する
ように構成され、
前記少なくとも１つの処理装置は、前記セキュアでないチャネルを確立した後であるが前記セキュアなチャネルを確立する前に、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して加入要求（４０６）の前記セキュリティマネージャへの送信を開始し、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して前記セキュリティマネージャから加入応答（４０８）を受け取り、前記加入応答は前記セキュリティ認証情報を表す証明書を含む
ように構成される、請求項９に記載の装置。
【請求項１２】
前記セキュリティポリシーは、前記第１及び第２の所定のポリシーとは異なる、請求項１１に記載の装置。
【請求項１３】
前記少なくとも１つの処理装置は、前記第２のＤＣＳノードと通信するように前記少なくとも１つのインターフェースを移行させる前に、前記第１及び第２のＤＣＳノードの両方が互いに安全に通信する準備ができていることを検証するために、ハンドシェイク動作を実行するように構成される、請求項９に記載の装置。
【請求項１４】
前記ハンドシェイク動作は４方向ハンドシェイク（４１６）を含み、前記４方向ハンドシェイクは、
前記第１のＤＣＳノードが、第１のポリシー更新メッセージを前記第２のＤＣＳノードに送り、前記第２のＤＣＳノードから第１の肯定応答を受け取ること、及び、
前記第１のＤＣＳノードが、第２のポリシー更新メッセージを前記第２のＤＣＳノードから受け取り、前記第２のＤＣＳノードに第２の肯定応答を送ること
を含む、請求項１３に記載の装置。
【請求項１５】
コンピュータプログラムを具現化する非一時的なコンピュータ読み取り可能な媒体であって、前記コンピュータプログラムは、
ネットワークを介して、第１の分散制御システム（ＤＣＳ）ノード（２０２）において、セキュリティマネージャ（２０８）に関連付けられる情報を受け取り（３０４）、
前記情報を使用して、前記ネットワークを介して前記第１のＤＣＳノードと前記セキュリティマネージャとの間に複数の通信チャネルを確立し（３０６、３１０）、前記通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含み、
前記セキュアでないチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティ認証情報を受け取り（３０８）、
前記セキュアなチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取り（３１２）、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記第１のＤＣＳノードを移行させる（３１６）
ためのコンピュータ読み取り可能なプログラムコードを含む、非一時的なコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照及び優先権主張
[0001]本願は、米国特許法第１１９条（ｅ）（３５  Ｕ．Ｓ．Ｃ．§１１９（ｅ））のもと、２０１４年１月２７日に提出された米国仮特許出願第６１／９３２，１５２に対する優先権を主張する。これにより、当該仮特許出願はその全体が参照により組み込まれる。
【０００２】
[0002]本開示は、一般に、産業用プロセス制御及び自動化システムに関する。より具体的には、本開示は、分散制御システム（ＤＣＳ）を保護するための装置及び方法に関する。
【背景技術】
【０００３】
[0003]産業用プロセス制御及び自動化システムは、多くの場合、大規模で複雑な産業プロセスを自動化するために使用される。これらの種類のシステムは、通常、センサ、アクチュエータ及びコントローラを含む。コントローラは、典型的には、センサから測定値を受け取り、アクチュエータのための制御信号を生成する。
【０００４】
[0004]産業用プロセス制御及び自動化システムは、不透明な専用の技術の使用から、商用の容易に入手可能な（ＣＯＴＳ）ネットワークコンポーネント及び機器の使用へと進化してきた。残念ながら、ＣＯＴＳ技術の使用は、多くのセキュリティ上の課題をもたらしており、それらは制御及び自動化システムの通常の進化の過程で対処されてきていない。この結果、産業用プロセス制御及び自動化システムは、分散制御システムにおいて使用される通信ネットワークにアクセスすることができるハッカーなどによる不正なアクセス及び使用に対して脆弱である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
[0005]本開示は、分散制御システム（ＤＣＳ）を保護するための装置及び方法を提供する。
【課題を解決するための手段】
【０００６】
[0006]第１の実施形態では、方法は、ネットワークを介して第１のＤＣＳノードにおいて、セキュリティマネージャに関連付けられる情報を受け取ることを含む。方法はまた、当該情報を使用して、ネットワークを介して第１のＤＣＳノードとセキュリティマネージャとの間の複数の通信チャネルを確立することを含み、当該通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含む。方法はさらに、セキュアでないチャネルを介して第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティ認証情報を受け取ること、並びに、セキュアなチャネルを介して第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取ることを含む。さらに、方法は、アクティブ化時間においてセキュリティポリシーを使用してネットワークを介して第２のＤＣＳノードと通信するように第１のＤＣＳノードを移行することを含む。
【０００７】
[0007]第２の実施形態では、装置は、少なくとも１つのインターフェースと少なくとも１つの処理装置とを有する第１のＤＣＳノードを含む。少なくとも１つのインターフェースは、セキュリティマネージャに関連付けられる情報をネットワークを介して受け取るように構成される。少なくとも１つの処理装置は、当該情報を使用して、ネットワークを介して第１のＤＣＳノードとセキュリティマネージャとの間のセキュアでないチャネル及びセキュアなチャネルを含む複数の通信チャネルを確立するように構成される。少なくとも１つの処理装置はまた、少なくとも１つのインターフェースを介して、セキュアでないチャネルを介してセキュリティマネージャからセキュリティ認証情報を受け取り、少なくとも１つのインターフェースを介して、セキュアなチャネルを介してセキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取るように構成される。少なくとも１つの処理装置は、さらに、アクティブ化時間においてセキュリティポリシーを使用してネットワークを介して第２のＤＣＳノードと通信するように少なくとも１つのインターフェースを移行するように構成される。
【０００８】
[0008]第３の実施形態では、非一時的なコンピュータ読み取り可能な媒体は、コンピュータプログラムを具体化する。コンピュータプログラムは、ネットワークを介して第１のＤＣＳノードにおいて、セキュリティマネージャに関連付けられる情報を受け取るためのコンピュータ読み取り可能なプログラムコードを含む。コンピュータプログラムはまた、当該情報を使用してネットワーク上の第１のＤＣＳノードとセキュリティマネージャとの間の複数の通信チャネルを確立するためのコンピュータ読み取り可能なプログラムコードを含み、当該通信チャネルはセキュアでないチャネルとセキュアなチャネルとを含む。コンピュータプログラムは、当該情報を使用して、ネットワークを介して第１のＤＣＳノードとセキュリティマネージャとの間の複数の通信チャネルを確立するためのコンピュータ読み取り可能なプログラムコードを含み、当該通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含む。コンピュータプログラムは、さらに、セキュアでないチャネルを介して第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティ認証情報を受け取り、セキュアなチャネルを介して第１のＤＣＳノードにおいてセキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取るための、コンピュータ読み取り可能なプログラムコードを含む。また、コンピュータプログラムは、アクティブ化時間においてセキュリティポリシーを使用してネットワークを介して第２のＤＣＳノードと通信するように第１のＤＣＳノードを移行するためのコンピュータ読み取り可能なプログラムコードを含む。
【０００９】
[0009]他の技術的特徴は、以下の図面、説明及び特許請求の範囲から、当業者にとって容易に明らかであろう。
[0010]本開示のより完全な理解のために、添付の図面と併せて以下の説明が参照される。
【図面の簡単な説明】
【００１０】
【図１】[0011]本開示による、例示的な産業用プロセス制御及び自動化システム並びに関連する詳細を示す。
【図２】本開示による、例示的な産業用プロセス制御及び自動化システム並びに関連する詳細を示す。
【図３】[0012]本開示による、分散制御システム（ＤＣＳ）を保護するための例示的な方法を示す。
【図４】[0013]本開示による、ＤＣＳを保護するための例示的な信号伝達図を示す。
【図５】[0014]本開示による、ＤＣＳの保護をサポートするためにサブネットワークにわたってセキュリティポリシーをルーティングするための例示的な技術を示す。
【発明を実施するための形態】
【００１１】
[0015]以下に説明される図１−５、及び本特許文書において本発明の原理を説明するために使用される様々な実施形態は、例示のみのためのものであり、決して本発明の範囲を限定するように解釈されるべきではない。当業者は、本発明の原理が任意の種類の適切に構成された装置又はシステムで実施され得ることを理解するであろう。
【００１２】
[0016]図１及び図２は、本開示による、例示的な産業用プロセス制御及び自動化システム１００並びに関連する詳細を示す。図１に示すように、システム１００は、少なくとも１つの製品又は他の材料の製造又は加工を容易にする様々なコンポーネントを含む。例えば、システム１００は、ここでは、１つ又は複数のプラント１０１ａ−１０１ｎ内のコンポーネントに対する制御を容易にするために使用される。各プラント１０１ａ−１０１ｎは、少なくとも１つの製品又は他の材料を製造するための１つ又は複数の製造設備などの、１つもしくは複数の処理設備（又はその１つもしくは複数の部分）を表す。一般に、各プラント１０１ａ−１０１ｎは、１つ又は複数のプロセスを実施してもよく、個別に又は組み合わせてプロセスシステムと呼ぶことができる。プロセスシステムは、一般に、なんらかの方法で１つ又は複数の製品又は他の材料を処理するように構成された任意のシステム又はその一部を表す。
【００１３】
[0017]図１において、システム１００は、プロセス制御のパーデューモデル（Ｐｕｒｄｕｅ  ｍｏｄｅｌ）を使用して実装される。パーデューモデルでは、「レベル０」は、１つ又は複数のセンサ１０２ａ及び１つ又は複数のアクチュエータ１０２ｂを含んでもよい。センサ１０２ａ及びアクチュエータ１０２ｂは、多種多様な機能のうちのいずれかを実行することができる、プロセスシステム内のコンポーネントを表す。例えば、センサ１０２ａは、温度、圧力又は流量などの、プロセスシステムにおける様々な特性を測定することができる。また、アクチュエータ１０２ｂは、プロセスシステムにおける様々な特性を変更することができる。センサ１０２ａ及びアクチュエータ１０２ｂは、任意の適切なプロセスシステム内の任意の他の又は追加のコンポーネントを表すことができる。センサ１０２ａの各々は、プロセスシステムにおける１つ又は複数の特性を測定するための任意の適切な構造を含む。アクチュエータ１０２ｂの各々は、プロセスシステムにおける１つ又は複数の条件を操作するか又はそれに影響を与えるための任意の適切な構造を含む。
【００１４】
[0018]少なくとも１つのネットワーク１０４が、センサ１０２ａ及びアクチュエータ１０２ｂに結合される。ネットワーク１０４は、センサ１０２ａ及びアクチュエータ１０２ｂとの相互作用を容易にする。例えば、ネットワーク１０４は、センサ１０２ａから測定データを搬送することができ、アクチュエータ１０２ｂに制御信号を提供することができる。ネットワーク１０４は、任意の適切なネットワーク又はネットワークの組み合わせを表すことができる。特定の例として、ネットワーク１０４は、イーサネット（登録商標）ネットワーク、（ＨＡＲＴ又はＦＯＵＮＤＡＴＩＯＮ  ＦＩＥＬＤＢＵＳネットワークなどの）電気信号ネットワーク、空気制御信号ネットワーク、又は任意の他のもしくは追加の種類のネットワークを表すことができる。
【００１５】
[0019]パーデューモデルでは、「レベル１」は、ネットワーク１０４に結合された１つ又は複数のコントローラ１０６を含んでもよい。とりわけ、各コントローラ１０６は、１つ又は複数のアクチュエータ１０２ｂの動作を制御するために、１つ又は複数のセンサ１０２ａからの測定値を使用してもよい。例えば、コントローラ１０６は、１つ又は複数のセンサ１０２ａから測定データを受け取り、１つ又は複数のアクチュエータ１０２ｂのための制御信号を生成するために測定データを使用することができる。各コントローラ１０６は、１つ又は複数のセンサ１０２ａと相互作用し、１つ又は複数のアクチュエータ１０２ｂを制御するための、任意の適切な構造を含む。各コントローラ１０６は、例えば、ロバスト多変数予測制御技術（ＲＭＰＣＴ）コントローラ、又はモデル予測制御（ＭＰＣ）もしくは他の高度な予測制御（ＡＰＣ）を実施する他の種類のコントローラなどの、多変数コントローラを表すことができる。特定の例として、各コントローラ１０６は、リアルタイムオペレーティングシステムを実行するコンピューティングデバイスを表すことができる。
【００１６】
[0020]２つのネットワーク１０８がコントローラ１０６に結合される。ネットワーク１０８は、コントローラ１０６との間でデータを搬送することなどによって、コントローラ１０６との相互作用を容易にする。ネットワーク１０８は、任意の適切なネットワーク又はネットワークの組み合わせを表すことができる。特定の例として、ネットワーク１０８は、ハネウェル・インターナショナル社のフォールトトレラント・イーサネット（登録商標）（ＦＴＥ）ネットワークなどのイーサネット（登録商標）・ネットワークのペアやイーサネット（登録商標）・ネットワークの冗長ペアを表すことができる。
【００１７】
[0021]少なくとも１つのスイッチ／ファイアウォール１１０は、ネットワーク１０８を２つのネットワーク１１２に結合する。スイッチ／ファイアウォール１１０は、１つのネットワークから別のネットワークへトラフィックを搬送してもよい。スイッチ／ファイアウォール１１０はまた、１つのネットワーク上のトラフィックが別のネットワークに到達することを阻止してもよい。スイッチ／ファイアウォール１１０は、ＨＯＮＥＹＷＥＬＬ  ＣＯＮＴＲＯＬ  ＦＩＲＥＷＡＬＬ（ＣＦ９）デバイスなどの、ネットワーク間で通信を提供するための任意の適切な構造を含む。ネットワーク１１２は、イーサネット（登録商標）・ネットワークのペア又はＦＴＥネットワークなどの任意の適切なネットワークを表すことができる。
【００１８】
[0022]パーデューモデルでは、「レベル２」は、ネットワーク１１２に結合される１つ又は複数のマシンレベルコントローラ１１４を含むことができる。マシンレベルコントローラ１１４は、（ボイラーや他の機械などの）産業設備の特定の一部と関連付けることができる、コントローラ１０６、センサ１０２ａ及びアクチュエータ１０２ｂの動作及び制御をサポートするために、様々な機能を実行する。例えば、マシンレベルコントローラ１１４は、センサ１０２ａからの測定データやアクチュエータ１０２ｂのための制御信号などの、コントローラ１０６によって収集又は生成された情報を記録することができる。マシンレベルコントローラ１１４はまた、コントローラ１０６の動作を制御するアプリケーションを実行することができ、それによってアクチュエータ１０２ｂの動作を制御する。また、マシンレベルコントローラ１１４は、コントローラ１０６へのセキュアなアクセスを提供することができる。マシンレベルコントローラ１１４の各々は、機械や装置の他の個々の部分へのアクセス、それらの制御又はそれらに関連する操作を提供するための任意の適切な構造を含む。マシンレベルコントローラ１１４の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するサーバコンピューティングデバイスを表すことができる。図示していないが、異なるマシンレベルコントローラ１１４を、（機器の各部分が１つ又は複数のコントローラ１０６、センサ１０２ａ及びアクチュエータ１０２ｂと関連付けられる）プロセスシステム内の機器の異なる部分を制御するために使用することができる。
【００１９】
[0023]１つ又は複数のオペレータステーション１１６がネットワーク１１２に結合される。オペレータステーション１１６は、コントローラ１０６（及び、おそらくはセンサ１０２ａ及びアクチュエータ１０２ｂ）へのユーザアクセスを提供することができるマシンレベルコントローラ１１４へのユーザアクセスを提供するコンピューティングデバイス又は通信デバイスを表す。特定の例として、オペレータステーション１１６は、コントローラ１０６及び／又はマシンレベルコントローラ１１４によって収集された情報を使用して、ユーザが、センサ１０２ａ及びアクチュエータ１０２ｂの動作履歴を確認することを可能にすることができる。オペレータステーション１１６はまた、ユーザが、センサ１０２ａ、アクチュエータ１０２ｂ、コントローラ１０６又はマシンレベルコントローラ１１４の動作を調整することを可能にすることができる。また、オペレータステーション１１６は、コントローラ１０６もしくはマシンレベルコントローラ１１４によって生成される、警告、警報又は他のメッセージもしくは表示を受け取って表示することができる。オペレータステーション１１６の各々は、システム１００内の１つ又は複数のコンポーネントのユーザアクセス及び制御をサポートするための任意の適切な構造を含む。オペレータステーション１１６の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するコンピューティングデバイスを表すことができる。
【００２０】
[0024]少なくとも１つのルータ／ファイアウォール１１８は、ネットワーク１１２を２つのネットワーク１２０に結合する。ルータ／ファイアウォール１１８は、セキュアなルータやルータ／ファイアウォールの組み合わせなどの、ネットワーク間の通信を提供するための任意の適切な構造を含む。ネットワーク１２０は、イーサネット（登録商標）・ネットワークのペアやＦＴＥネットワークなどの任意の適切なネットワークを表すことができる。
【００２１】
[0025]パーデューモデルでは、「レベル３」は、ネットワーク１２０に結合された１つ又は複数のユニットレベルコントローラ１２２を含んでもよい。各々のユニットレベルコントローラ１２２は、典型的には、プロセスの少なくとも一部を実施するために一緒に動作する異なる機械の集合を表す、プロセスシステム内のユニットに関連付けられる。ユニットレベルコントローラ１２２は、下位レベルのコンポーネントの動作及び制御をサポートするために様々な機能を実行する。例えば、ユニットレベルコントローラ１２２は、下位レベルのコンポーネントによって収集又は生成された情報を記録し、下位レベルのコンポーネントを制御するアプリケーションを実行し、下位レベルのコンポーネントへのセキュアなアクセスを提供することができる。ユニットレベルコントローラ１２２の各々は、１つもしくは複数の機械又はプロセスユニット内の機器の他の部分へのアクセス、それらの制御又はそれらに関連する操作を提供するための任意の適切な構造を含む。ユニットレベルコントローラ１２２の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するサーバコンピューティングデバイスを表すことができる。図示していないが、（各ユニットが、１つ又は複数のマシンレベルコントローラ１１４、コントローラ１０６、センサ１０２ａ及びアクチュエータ１０２ｂに関連付けられる）プロセスシステム内の異なるユニットを制御するために、異なるユニットレベルコントローラ１２２を使用することができる。
【００２２】
[0026]ユニットレベルコントローラ１２２へのアクセスは、１つ又は複数のオペレータステーション１２４によって提供されてもよい。オペレータステーション１２４の各々は、システム１００内の１つ又は複数のコンポーネントのユーザアクセス及び制御をサポートするための任意の適切な構造を含む。オペレータステーション１２４の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するコンピューティングデバイスを表すことができる。
【００２３】
[0027]少なくとも１つのルータ／ファイアウォール１２６は、ネットワーク１２０を２つのネットワーク１２８に結合する。ルータ／ファイアウォール１２６は、セキュアなルータやルータ／ファイアウォールの組み合わせなどの、ネットワーク間の通信を提供するための任意の適切な構造を含む。ネットワーク１２８は、イーサネット（登録商標）・ネットワークのペア又はＦＴＥネットワークなどの任意の適切なネットワークを表すことができる。
【００２４】
[0028]パーデューモデルでは、「レベル４」は、ネットワーク１２８に結合された１つ又は複数のプラントレベルコントローラ１３０を含んでもよい。各々のプラントレベルコントローラ１３０は、典型的には、同一、類似又は異なるプロセスを実施する１つ又は複数のプロセスユニットを含むことができる、プラント１０１ａ−１０１ｎのうちの１つに関連付けられる。プラントレベルコントローラ１３０は、下位レベルのコンポーネントの動作及び制御をサポートするために様々な機能を実行する。特定の例として、プラントレベルコントローラ１３０は、１つ又は複数の製造実行システム（ＭＥＳ）アプリケーション、スケジューリングアプリケーション、又は他のもしくは追加のプラントもしくはプロセス制御アプリケーションを実行することができる。プラントレベルコントローラ１３０の各々は、プロセスプラント内の１つ又は複数のプロセスユニットへのアクセス、それらの制御又はそれらに関連する操作を提供するための任意の適切な構造を含む。プラントレベルコントローラ１３０の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するサーバコンピューティングデバイスを表すことができる。
【００２５】
[0029]プラントレベルコントローラ１３０へのアクセスは、１つ又は複数のオペレータステーション１３２によって提供されてもよい。オペレータステーション１３２の各々は、システム１００内の１つ又は複数のコンポーネントのユーザアクセス及び制御をサポートするための任意の適切な構造を含む。オペレータステーション１３２の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するコンピューティングデバイスを表すことができる。
【００２６】
[0030]少なくとも１つのルータ／ファイアウォール１３４は、ネットワーク１２８を１つ又は複数のネットワーク１３６に結合する。ルータ／ファイアウォール１３４は、セキュアなルータやルータ／ファイアウォールの組み合わせなどの、ネットワーク間の通信を提供するための任意の適切な構造を含む。ネットワーク１３６は、企業規模のイーサネット（登録商標）もしくは他のネットワーク、又は（インターネットなどの）より大きなネットワークの全体もしくは一部などの、任意の適切なネットワークを表すことができる。
【００２７】
[0031]パーデューモデルでは、「レベル５」は、ネットワーク１３６に結合される１つ又は複数のエンタープライズレベルコントローラ（ｅｎｔｅｒｐｒｉｓｅ−ｌｅｖｅｌ−ｃｏｎｔｒｏｌｌｅｒ）１３８を含んでもよい。各々のエンタープライズレベルコントローラ１３８は、一般に、複数のプラント１０１ａ−１０１ｎについての計画操作を実行し、プラント１０１ａ−１０１ｎの様々な側面を制御することが可能である。エンタープライズレベルコントローラ１３８はまた、プラント１０１ａ−１０１ｎ内のコンポーネントの動作及び制御をサポートする様々な機能を実行することができる。特定の例として、エンタープライズレベルコントローラ１３８は、１つ又は複数の注文処理アプリケーション、エンタープライズリソースプランニング（ＥＲＰ）アプリケーション、先進的計画及びスケジューリング（ＡＰＳ）アプリケーション、又は任意の他のもしくは追加のエンタープライズ制御アプリケーションを実行することができる。エンタープライズレベルコントローラ１３８の各々は、１つ又は複数のプラントへのアクセス、それらの制御又はそれらに関連する操作を提供するための任意の適切な構造を含む。エンタープライズレベルコントローラ１３８の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するサーバコンピューティングデバイスを表すことができる。本願において、「エンタープライズ（企業）」という語は、管理すべき１つもしくは複数のプラント又は他の処理施設を有する組織を指す。単一のプラント１０１ａが管理される場合、エンタープライズレベルコントローラ１３８の機能をプラントレベルコントローラ１３０に組み込むことができることに留意されたい。
【００２８】
[0032]エンタープライズレベルコントローラ１３８へのアクセスは、１つ又は複数のオペレータステーション１４０によって提供されてもよい。オペレータステーション１４０の各々は、システム１００内の１つ又は複数のコンポーネントのユーザアクセス及び制御をサポートするための任意の適切な構造を含む。オペレータステーション１４０の各々は、例えば、ＭＩＣＲＯＳＯＦＴ  ＷＩＮＤＯＷＳ（登録商標）オペレーティングシステムを実行するコンピューティングデバイスを表すことができる。
【００２９】
[0033]パーデューモデルの様々なレベルは、１つ又は複数のデータベースなどの他のコンポーネントを含むことができる。各レベルに関連付けられるデータベースは、そのレベル又はシステム１００の１つもしくは複数の他のレベルと関連付けられる任意の適切な情報を格納することができる。例えば、ヒストリアン（ｈｉｓｔｏｒｉａｎ）１４１がネットワーク１３６に結合されてもよい。ヒストリアン１４１は、システム１００に関するさまざまな情報を格納するコンポーネントを表すことができる。ヒストリアン１４１は、例えば、製造のスケジューリング及び最適化中に使用される情報を格納することができる。ヒストリアン１４１は、情報を格納して情報の検索を容易にするための任意の適切な構造を表す。ネットワーク１３６に結合された単一の集中型コンポーネントとして示されているが、ヒストリアン１４１はシステム１００内の他の場所に配置することができ、又は、複数のヒストリアンがシステム１００内の異なる場所に分散されてもよい。
【００３０】
[0034]特定の実施形態では、図１の様々なコントローラ及びオペレータステーションは、コンピューティングデバイスを表すことができる。例えば、コントローラの各々は、１つ又は複数の処理装置１４２と、処理装置１４２によって使用され、生成され又は収集される命令及びデータを格納するための１つ又は複数のメモリ１４４とを含むことができる。コントローラの各々はまた、１つ又は複数のイーサネット（登録商標）インターフェースや無線トランシーバなどの、少なくとも１つのネットワークインターフェース１４６を含むことができる。また、オペレータステーションの各々は、１つ又は複数の処理装置１４８と、処理装置１４８によって使用され、生成され又は収集される命令及びデータを格納するための１つ又は複数のメモリ１５０とを含むことができる。オペレータステーションの各々はまた、１つ又は複数のイーサネット（登録商標）インターフェースや無線トランシーバなどの、少なくとも１つのネットワークインターフェース１５２を含むことができる。
【００３１】
[0035]上述したように、従来の産業用プロセス制御及び自動化システムは、多くの場合、不正なアクセス及び使用に対して脆弱である。様々な実施形態において、本開示は、利用可能性を維持し、ネットワーク通信を保護しながら、分散制御システム（ＤＣＳ）を保護するために、ブートストラッププロトコル（ＢＯＯＴＰ）の拡張、既定ポリシー（ｃａｎｎｅｄ  ｐｏｌｉｃｉｅｓ）アプリケーション、ノード間交渉、及びサブネットワークルーティングを使用する。この機能は、図１のコントローラ又はオペレータステーションのいずれかなど、図１に示したノードのうちの任意のもので実施することができる。特定の実施形態では、この機能は、産業用プロセス制御及び自動化システム１００のレベル３より低いコントローラ又はオペレータステーションで実施することができる。
【００３２】
[0036]この機能の詳細は図２に示され、図２では、後述のように、２つのＤＣＳノード２０２−２０４の間の通信を保護することができる。ＤＣＳノード２０２−２０４は、図１に示すコントローラ又はオペレータステーションのうちのいずれかなどの、ＤＣＳにおける任意の適切なデバイスを表すことができる。
【００３３】
[0037]図２にはまた、ＢＯＯＴＰサーバ２０６、セキュリティマネージャ２０８及び認証局（ＣＡ）２１０が示される。以下でより詳細に説明するように、ＢＯＯＴＰサーバ２０６は、ブートストラッププロトコル拡張の使用をサポートし、これは、ＢＯＯＴＰサーバ２０６がＤＣＳノード２０２−２０４にセキュリティマネージャ２０８のネットワークアドレス及びポートを通知することを可能にする。ＤＣＳノード２０２−２０４は、ＢＯＯＴＰサーバ２０６からの情報を使用して、オープンチャネル及び暗号化チャネルの両方を介してセキュリティマネージャ２０８と通信することができる。セキュリティマネージャ２０８は、ＤＣＳノード２０２−２０４間のセキュアな通信をサポートするように構成されたか又はそのように構成される過程にあるＤＣＳノードに関する情報を保持するように動作する。セキュリティマネージャ２０８はまた、ＤＣＳノード２０２−２０４に（証明書などの）セキュリティ認証情報を提供して、ＤＣＳノード２０２−２０４が互いに安全に通信することを可能にする。認証局２１０は、セキュリティマネージャ２０８によって提供される証明書又は他のセキュリティ認証情報を生成する。ＤＣＳノード２０２−２０４と併せて、ＢＯＯＴＰサーバ２０６、セキュリティマネージャ２０８及び認証局２１０の動作についてのより詳細な説明が以下に提供される。
【００３４】
[0038]ＢＯＯＴＰサーバ２０６は、ブートストラッププロトコルの使用をサポートする任意の適切な構造を含む。例えば、ＢＯＯＴＰサーバ２０６は、１つ又は複数の処理装置２１２と、処理装置２１２によって使用され、生成され又は収集される命令及びデータ２１４を格納するための１つ又は複数のメモリ２１４とを含むことができる。ＢＯＯＴＰサーバ２０６はまた、１つ又は複数のイーサネット（登録商標）インターフェースや無線トランシーバなどの、少なくとも１つのネットワークインターフェース２１６を含む。
【００３５】
[0039]セキュリティマネージャ２０８は、ＤＣＳノードにセキュリティ認証情報を提供するための任意の適切な構造を含む。例えば、セキュリティマネージャ２０８は、１つ又は複数の処理装置２１８と、処理装置２１８によって使用され、生成され又は収集される命令及びデータを格納するための１つ又は複数のメモリ２２０を含むことができる。セキュリティマネージャ２０８はまた、１つ又は複数のイーサネット（登録商標）インターフェースや無線トランシーバなどの、少なくとも１つのネットワークインターフェース２２２を含むことができる。システム内には、ユニットレベルコントローラ１２２ごとに１つのセキュリティマネージャ２０８など、１つ又は複数のセキュリティマネージャ２０８があってもよい。
【００３６】
[0040]認証局２１０は、セキュリティ認証情報を生成するための任意の適切な構造を含む。例えば、認証局２１０は、１つ又は複数の処理装置２２４と、処理装置２２４によって使用され、生成され又は収集される命令及びデータを格納するための１つ又は複数のメモリを含むことができる。認証局２１０はまた、１つ又は複数のイーサネット（登録商標）インターフェースや無線トランシーバなどの、少なくとも１つのネットワークインターフェース２２８を含むことができる。
【００３７】
[0041]ＢＯＯＴＰサーバ２０６、セキュリティマネージャ２０８及び認証局２１０は、産業用プロセス制御及び自動化システム１００内の任意の適切なレベルで使用することができる。例えば、いくつかの実施形態では、ＢＯＯＴＰサーバ２０６、セキュリティマネージャ２０８及び認証局２１０は、レベル３、レベル４又はレベル５のコンポーネントを表してもよく、システム１００のレベル１、レベル２又はレベル３でＤＣＳノードを保護するために使用してもよい。
【００３８】
[0042]図１及び図２は産業用プロセス制御及び自動化システム１００並びに関連する詳細の一例を示しているが、様々な変更を図１及び図２に対して行うことができる。例えば、制御及び自動化システムは、任意の数のセンサ、アクチュエータ、コントローラ、オペレータステーション、ネットワーク、ＤＣＳノード、ＢＯＯＴＰサーバ、セキュリティマネージャ及びＣＡを含むことができる。また、図１及び図２のシステム１００の構成及び配置は説明のみのためのものである。特定のニーズに応じて、任意の他の適切な構成において、コンポーネントを追加し、省略し、組み合わせ、又は配置することができる。特定の例として、ＢＯＯＴＰサーバ２０６、セキュリティマネージャ２０８及び認証局２１０のうちの２つ以上を、単一の機能ユニットへと組み合わせることができる。さらに、特定の機能が、システム１００の特定のコンポーネントによって実行されるものとして説明された。これは例示のみのためのものである、一般に、プロセス制御及び自動化システムは、高度に設定可能であり、特定のニーズに応じて、任意の適切な方法で構成することができる。また、図１及び図２は、ＤＣＳを保護することができる例示的環境を示す。この機能は、任意の他の適切なデバイス又はシステムで使用することができる。
【００３９】
[0043]図３は、本開示による、ＤＣＳを保護するための例示的な方法３００を示す。説明を容易にするために、方法３００は、図１のシステム１００において動作する図２のコンポーネント２０２−２１０に関して説明される。方法３００は、任意の適切なシステム内の任意の他の適切なコンポーネントとともに使用することができる。図３の説明の際に、本開示によるＤＣＳを保護するための例示的な信号伝達（シグナリング）図４００を示す図４が参照される。ここでも、説明を容易にするために、信号伝達図４００は、図１のシステム１００において動作する図２のコンポーネント２０２−２１０に関して説明される。信号伝達図４００は、任意の適切なシステム内の任意の他の適切なコンポーネントとともに使用することができる。ＤＣＳノード２０２−２０４は、組み込みコントローラを表すものとして図４に示されるが、ＤＣＳノード２０２−２０４は任意の他の適切なＤＣＳデバイスを表すことができることに留意されたい。
【００４０】
[0044]以下の用語及び語句は、図３及び図４の説明に使用される。
・セキュリティエージェント：ＤＣＳノードが安全に通信することを可能にする、ＤＣＳノード上で実行されるか他の方法で動作するコンポーネント。
【００４１】
・ポリシーエージェント（ＰＡ）：セキュリティエージェントの別名。
・ポリシー決定ポイント（ＰＤＰ）：セキュリティマネージャの別名。
・セキュリティマネージャプロキシ：直接的なセキュリティエージェント−セキュリティマネージャ間の通信が可能でないときにセキュリティ認証情報をルーティングする、アプリケーションプロキシ／コンポーネント。
【００４２】
・セキュリティ認証情報：ＤＣＳノードの同一性を確立する（証明書やポリシーなどの）情報。
・証明書：安全な通信セッションの確立中に認証を行うためにノードが使用するエンティティ。
【００４３】
・ポリシー：２つのＤＣＳノード間で意図される安全な通信のレベル。
[0045]上記のように、従来のＤＣＳノードは、多くの場合、ＣＯＴＳネットワークコンポーネント及び機器を使用して設計される。この設計の欠点の１つは、セキュリティ認証情報を配布し、ＤＣＳノードが安全に通信することを可能にするための、帯域外（ｏｕｔ−ｏｆ−ｂａｎｄ）メカニズムを欠いているということである。したがって、この設計は、ネットワークを介して通信される情報を保護するためのメカニズムを欠いている。安全な通信機能を含むようにノードをアップグレードすると、多くの場合、ノードを切断する必要があり、これは、通常、許容できないほど大きなプラントの稼働停止時間や、顧客にとって許容できないほど大きなコストをもたらす（魅力のない提案となる）。
【００４４】
[0046]以下に説明される技術は、ＤＣＳノードに安全にセキュリティ認証情報を配信し、次いで、制御の利用可能性を維持しながらＤＣＳノードをセキュアでない通信からセキュアな通信へ移行するために、同一の通信ネットワークが使用されることを可能にする。図３及び図４に示された技術は、ＤＣＳノードが保護される方法を説明する。
【００４５】
[0047]図３に示すように、ステップ３０２において、第１のＤＣＳノードが、ＤＣＳネットワークに加入する要求を送る。これは、例えば、ＤＣＳノード２０２がＢＯＯＴＰ要求をＢＯＯＴＰサーバ２０６に送ることを含んでもよい。ＢＯＯＴＰ要求の送信は、ＤＣＳノード２０２がネットワークにおいて作動されるときなど、任意の適切な時に生じ得る。ステップ３０４において、ＢＯＯＴＰサーバは、要求に対する応答を提供する。これは、例えば、ＢＯＯＴＰサーバ２０６がＤＣＳノード２０２にＢＯＯＴＰ応答を提供することを含んでもよい。
【００４６】
[0048]この例は図４に示され、ＤＣＳノード２０２はＢＯＯＴＰ要求４０２をＢＯＯＴＰサーバ２０６に送り、ＢＯＯＴＰサーバ２０６はＢＯＯＴＰ応答４０４をＤＣＳノード２０２に送る。
【００４７】
[0049]ＢＯＯＴＰプロトコルは、事前定義されたベンダー固有の拡張機能がＢＯＯＴＰ要求とＢＯＯＴＰ応答の両方に含まれることを可能にする。ＢＯＯＴＰパケット構造はＲＦＣ９５１において説明されており、拡張機能を含めるための符号化標準はＲＦＣ２１３２において説明されている。いくつかの実施形態では、これらの勧告は、特定の実施形態では、システム１００及び方法３００で使用される。特定の実施形態では、ＤＣＳノードのセキュリティエージェントが既定ポリシー（ｃａｎｎｅｄ  ｐｏｌｉｃｉｅｓ）を設定し、セキュリティマネージャ２０８からセキュリティ認証情報を取得することを可能にする情報を配信するために、以下の拡張機能をＢＯＯＴＰサーバ２０６によってＤＣＳノードに供給することができる。
【００４８】
【表１】
2017511024.tif 000003
【００４９】
表１において、プライマリＰＤＰ  ＩＰフィールドがプライマリセキュリティマネージャ２０８のＩＰアドレスを表す一方、代替ＰＤＰ  ＩＰフィールドが代替セキュリティマネージャ２０８のＩＰアドレスを表す。ＰＤＰ平文（オープン）ポートは、平文メッセージを送受信するためにセキュリティマネージャ２０８によって使用されるポート番号を識別し、ＰＤＰ暗号化ポートは、暗号化されたメッセージを送受信するためにセキュリティマネージャ２０８によって使用されるポート番号を識別する。ＰＡ平文（オープン）ポートは、平文メッセージを送受信するためにＰＡ（ＤＣＳノード）によって使用されるポート番号を識別し、ＰＡ暗号化ポートは、暗号化されたメッセージを送受信するためにＰＡ（ＤＣＳノード）によって使用されるポート番号を識別する。
【００５０】
[0050]図３に戻り、ステップ３０６において、第１のＤＣＳノードがＢＯＯＴＰ応答を取得すると、第１のＤＣＳノードは、既定ポリシーを使用して、第１のチャネルを介して、ＤＣＳネットワークへの加入の許可を要求する。これは、例えば、ＤＣＳノード２０２が、ＤＣＳネットワークに加入する要求を少なくとも１つのセキュリティマネージャ２０８に送ることを含んでもよい。要求は、ＢＯＯＴＰ応答において識別されるセキュリティマネージャ２０８のネットワークアドレス及びポート番号を使用して、オープンの又は暗号化されていないチャネルを介して、セキュリティマネージャ２０８にルーティングすることができる。ステップ３０８において、（加入要求が承認される場合）セキュリティマネージャは、セキュリティ認証情報を第１のＤＣＳノードに送ることによって加入要求に応答する。これは、例えば、少なくとも１つのセキュリティマネージャ２０８が、ＢＯＯＴＰ応答に含まれるＰＡ（ＤＣＳノード２０２）のネットワークアドレス及びポート番号を使用して、オープンの又は暗号化されていないチャネルを介して、証明書をＤＣＳノード２０２に提供することを含んでもよい。いくつかの実施形態では、加入要求は、ＤＣＳノードがＤＣＳネットワークに加入することを許可される前に、ユーザの承認を必要とする。これは、人間のオペレータが加入要求を承認したときにノードがＤＣＳネットワークに加入することを許可されるにすぎないことを確実にするのに役立ち得る。しかし、ＤＣＳネットワークに加入するノードを制御するための他の手法を使用することもできる。
【００５１】
[0051]この例が図４に示されており、ＤＣＳノード２０２は、加入要求４０６をセキュリティマネージャ２０８に送り、セキュリティ認証情報を含む応答４０８をセキュリティマネージャ２０８から受け取る。要求４０６と応答４０８の両方は、暗号化されていないチャネルを介して送ることができる。
【００５２】
[0052]図３に戻り、ステップ３１０において、第１のＤＣＳノードがセキュリティ認証情報を取得すると、第１のＤＣＳノードは、別の既定ポリシーを使用して、第２のチャネルを介して第２のＤＣＳノードと通信するためのポリシーを要求する。これは、例えば、ＤＣＳノード２０２が通信ポリシーの要求を少なくとも１つのセキュリティマネージャ２０８に送ることを含んでもよい。要求は、セキュリティ認証情報を使用して設定される暗号化されたチャネルを介してセキュリティマネージャ２０８にルーティングすることができる。ステップ３１２において、セキュリティマネージャは、通信ポリシー及びアクティブ化時間を第１及び第２のＤＣＳノードの両方に送ることによって、ポリシー要求に応答する。これは、例えば、少なくとも１つのセキュリティマネージャ２０８が、暗号化チャネルを介して、ポリシー及びアクティブ化時間をＤＣＳノード２０２−２０４に提供することを含んでもよい。
【００５３】
[0053]この例は図４に示されており、第１のＤＣＳノード２０２はポリシー要求４１０をセキュリティマネージャ２０８に送り、第１及び第２のＤＣＳノード２０２−２０４は、それぞれ、セキュリティマネージャ２０８から応答４１２−４１４を受け取る。応答４１２−４１４は、通信ポリシーと、ＤＣＳノード２０２−２０４が互いに通信するために当該ポリシーを使用することを開始することができるアクティブ化時間とを含むことができる。
【００５４】
[0054]上記のように、第１のＤＣＳノード２０２は、セキュリティマネージャ２０８と通信するために既定ポリシーを使用することができる。既定ポリシーの設定は、ＤＣＳノードが、事前に定義されたポリシーを使用して、エージェント−マネージャ間の通信のための１つ又は複数の独立したチャネルを設定することを可能にし、ＤＣＳノードは異なるポリシーを受け取って使用することができる。いくつかの実施形態では、オープンの／平文の（暗号化されていない）通信のための１つのチャネルと、暗号化された／セキュアな通信のための別のチャネルの、２つのチャネルを設定することができる。これにより、エージェント及びマネージャは、（ノード証明書や無署名のＣＡ証明書などの）セキュアでない情報及び（データを制御及び入出力するために適用可能なノード間ポリシーやポリシーアクティブ化時間などの）セキュアな情報の両方を、互いに通信することが可能になる。例えば、（ＤＣＳノード２０２などの）エージェントは、ＢＯＯＴＰ応答４０４を受け取ると、以下のローカルポリシーを設定することができる。
【００５５】
【表２】
2017511024.tif 000004
【００５６】
加入要求４０６はセキュリティマネージャ２０８に送ることができ、セキュリティマネージャの応答４０８はノード及びＣＡ証明書を含むことができる。これらの証明書を受け取ると、エージェントは以下のポリシーを設定することができる。
【００５７】
【表３】
2017511024.tif 000005
【００５８】
（オープンの及び暗号化された）両方のチャネルが設定されると、既定ポリシー設定を完了することができる。ノードセキュリティ認証情報に対する後の更新は、暗号化されたチャネルを介して通信することができる。
【００５９】
[0055]両方のＤＣＳノードがポリシー及びアクティブ化時間を有すると、ＤＣＳノードは、ステップ３１４において、互いにハンドシェイクし、ステップ３１６において、指定されたアクティブ化時間において指定したポリシーの使用を開始する。これは、例えば、両方のＤＣＳ２０２−２０４が、所望のアクティブ化時間において新しいポリシーに移行して必要に応じてアクティブ化時間を調整する準備ができていることを検証するために、ＤＣＳノード２０２−２０４が４方向（ｆｏｕｒ−ｗａｙ）ハンドシェイクを行うことを含んでもよい。この例は図４に示されており、ＤＣＳ２０２−２０４はハンドシェイク処理４１６を行い、各ノード２０２−２０４は、その指定されたアクティブ化時間において、その指定されたポリシーを使用するように切り替わる。しかしながら、他のハンドシェイク技術も使用することができることに留意されたい。
【００６０】
[0056]ノード間のポリシーアクティブ化時間の同期は、各々のＤＣＳノード２０２−２０４がポリシーを受け取り、その後、成功した４方向ハンドシェイクの後などに、新しいポリシーに移行することを確実にするのに役立つ。これはまた、各ノードの利用可能性を維持し、ポリシーの早まったアクティブ化に起因し得るエラー状態を回避するのに役立つ。ポリシーについてのアクティブ化時間をクリアチャネル上で変更することができる場合、セキュリティ上のリスクがあるため、セキュリティエージェント（ＤＣＳ２０２−２０４ノード）間で使用されるポートは暗号化されたチャネルを形成することができる。他の手法も可能である。
【００６１】
[0057]純粋な時間ベースのアクティブ化手法では、ノードがＤＣＳネットワークに安全に加入することを認められるとき、セキュリティマネージャ２０８はポリシー及びポリシーアクティブ化時間をＤＣＳノードに配布する。しかし、（ネットワーク配信の失敗、遅延、時間同期の問題などの）複数の環境的な要因により、ポリシーは特定のＤＣＳノードに配信されない場合があり、これは、長期間にわたってノードの利用可能性が失われることにつながり得る。このような状況からの回復は、ポリシーの配信を再度試みるか、又は既に配信されたポリシーを無効にすることを必要とする場合がある。
【００６２】
[0058]ノード間のポリシーのアクティブ化はまた、セキュリティエージェント間での双方向又は３方向のハンドシェイク通信によって行うことができる。双方向ハンドシェイク通信において、各エージェントは、ピアエージェントに非同期でメッセージを送ることによって、そのポリシーアクティブ化の意図を伝えることができる。しかし、この双方向のやりとりにおいて単一のパケットが失われたり遅れたりすると、ポリシーの早まったアクティブ化やノードの利用可能性の喪失につながり得る。３方向ハンドシェイクは、ＴＣＰ  ＳＹＮ−ＳＹＮＡＣＫ−ＡＣＫハンドシェイクと同様であってもよい。しかし、クライアント及びサーバの役割が定義されているＴＣＰとは異なり、ポリシーのアクティブ化は、両方のエージェントが結局クライアント及びサーバになるという状況を含み得る。したがって、３方向ハンドシェイクが同時に各ＤＣＳノードによって開始される場合、単一のエージェントがそのポリシーを早まってアクティブ化することになり得る。また、単一のパケット（特に最後のＡＣＫ）を失うことが、単一のエージェントノード上のみでのポリシーのアクティブ化につながる可能性がある。
【００６３】
[0059]４方向ハンドシェイクは、単一のパケットの損失の結果としての早まったアクティブ化を克服するために使用することができる。また、純粋な時間ベースのアクティブ化では不可能であるアクティブ化時間の調整を行うために使用することができる。そのポリシーを受け取ると、（ＤＣＳノード２０２などの）第１のエージェントは、（ＤＣＳノード２０４などの）そのピアエージェントへの「ポリシー更新（アクティブ化時間）」メッセージを開始し、第２のエージェントはこのメッセージの受信を確認する。同様に且つ非同期的に、そのポリシーを受け取ると、（ＤＣＳノード２０４などの）第２のエージェントは、（ＤＣＳ２０２などの）そのピアエージェントへの「ポリシー更新（アクティブ化時間）」メッセージを開始し、第１のエージェントはそのメッセージの受信を確認する。これらのハンドシェイクに続いて、２つのＰＡは、合意された「アクティブ化時間」ごとにポリシーを展開し、アクティブ化する。いくつかの実施形態では、個々のＤＣＳノード２０２−２０４上のエージェントは、以下の条件が満たされたときに、移行して、そのポリシーをアクティブ化することができる。
【００６４】
（１）ノードが、自身が開始した「ポリシー更新」メッセージについて肯定応答（ＡＣＫ）を受け取り、これは他のノードがポリシー及びアクティブ化時間についての知識を持っていることを示し、
（２）ノードが、他のノードによって開始された「ポリシー更新」メッセージを受け取り、並びに
（３）アクティブ化時間に到達する。
【００６５】
４方向ハンドシェイクの利点は、３つ以上のパケットが正常にやりとりされた場合にのみ、ポリシーがアクティブ化されるということである。したがって、他の方式とは異なり、１つ又は２つのパケットがドロップされた場合にポリシーが早まってアクティブ化されることがない。
【００６６】
[0060]図３は、ＤＣＳを保護するための方法３００の一例を示しているが、図３に対して様々な変更を行うことができる。例えば、一連のステップとして示されているが、図３の様々なステップは、重なってもよく、並行して発生してもよく、異なる順序で発生してもよく、任意の回数発生してもよい。図４は、ＤＣＳを保護するための信号伝達図４００の一例を示しているが、図４に対して様々な変更を行うことができる。例えば、上述の機能をサポートするために任意の他の信号伝達を使用することができる。
【００６７】
[0061]図５は、本開示による、ＤＣＳの保護をサポートするためにサブネットワークにわたってセキュリティポリシーをルーティングするための例示的な技術を示す。いくつかの実施形態では、エージェント−マネージャ間の通信は、サブネットワークが使用されており異なるレベルにわたる通信が要求される場合などのように、すべての状況下で直接的ではなかったり可能でなかったりする場合がある。その結果、直接通信が可能でないとき、セキュリティ認証情報は、マネージャプロキシを介してエージェントにルーティングすることができる。図５は、セキュリティ認証情報が（コントロール階層についてのパーデューモデルによって定義される）様々なレベルにわたってプロキシを使用してルーティングすることができ、セキュリティマネージャ２０８がセキュリティエージェントとは異なるサブネットワーク内にある場合の、一例の方法を示す。
【００６８】
[0062]図５に示す例では、セキュリティマネージャ２０８はＤＣＳレベル３に配置され、セキュリティエージェント５０２−５０４は異なるサブネットワーク内のレベル１及び２に分散される。セキュリティマネージャプロキシ５０６は、レベル３のセキュリティマネージャ２０８とレベル１及び２のセキュリティエージェント５０２−５０４との間でセキュリティ認証情報をルーティングする、レベル２の１つのノード又は複数のノードとして選択される。既定のポリシーの使用に関して上述した方法と同様に、２つの独立した専用の経路をセキュリティエージェントとセキュリティマネージャプロキシ５０６との間に設定することができ、２つの独立した専用の経路をセキュリティマネージャプロキシ５０６とセキュリティマネージャ２０８との間に設定することができる。これにより、マネージャ−エージェント間の通信を、プロキシ５０６における単一のホップによって確立することが可能となる。
【００６９】
[0063]２つのさらなるノード５０８−５１０が図５に示されており、１つはレベル１にあり、別の１つはレベル２／３にある。これらのノードにはセキュリティエージェントがなく、平文（オープン）通信のみを行うように構成することができる。このように、産業用プロセス制御及び自動化システムのすべてのノードがセキュリティエージェントを有するように構成される必要はない。
【００７０】
[0064]図５は、ＤＣＳの保護をサポートするためにサブネットワークにわたってセキュリティポリシーをルーティングするための技術の一例を示しているが、図５に対して様々な変更を行うことができる。例えば、サブネットワークにわたってセキュリティポリシーをルーティングするために、任意の他の適切な技術を使用することができる。また、他の実施形態では、セキュリティポリシーは、サブネットワークにわたってルーティングされる必要はない。
【００７１】
[0065]いくつかの実施形態では、この特許文献で説明される様々な機能は、コンピュータ読み取り可能なプログラムコードから形成されてコンピュータ読み取り可能な媒体に具現化される、コンピュータプログラムによって実装又はサポートされる。「コンピュータ読み取り可能なプログラムコード」という語は、ソースコード、オブジェクトコード、実行可能コードを含む任意の種類のコンピュータコードを含む。「コンピュータ読み取り可能な媒体」という語は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）又は任意の他の種類のメモリなどの、コンピュータによってアクセスすることができる任意の種類の媒体を含む。「持続性（非一時的）」コンピュータ読み取り可能な媒体は、一時的な電気信号や他の信号を搬送する有線、無線、光又は他の通信リンクを除外する。非一時的なコンピュータ読み取り可能な媒体は、データを永続的に格納することができる媒体、及び、書き換え可能な光ディスクや又は消去可能なメモリデバイスなどの、データを格納することができ、後に上書きすることができる媒体を含む。
【００７２】
[0066]本特許文書全体を通して使用される特定の単語や語句の定義を記載することには利点がある。「アプリケーション」及び「プログラム」という語は、（ソースコード、オブジェクトコード又は実行可能コードを含む）適切なコンピュータコードでの実装に適合する、１つ又は複数のコンピュータプログラム、ソフトウェアコンポーネント、命令のセット、プロシージャ、関数、オブジェクト、クラス、インスタンス、関連するデータ、又はそれらの一部を指す。「通信」という語及びその派生語は、直接通信及び間接通信の両方を包含する。「含む」及び「備える」並びにそれらの派生語は、限定することなく含むことを意味する。「又は」という語は、包括的なものであり、「及び／又は」を意味する。「〜に関連付けられる」という語句及びその派生語は、「〜を含む」、「〜内に含まれる」、「〜と相互接続する」、「〜を包含する」、「〜内に包含される」、「〜に又は〜と接続する」、「〜に又は〜と結合する」、「〜と通信可能である」、「〜と協働する」、「インターリーブする」、「並置する」、「〜に近接する」、「〜に又は〜と結び付けられる」、「〜の特性を有する」、「〜に対して又は〜との関係を有する」などを意味してもよい。項目のリストとともに使用するとき、「〜の少なくとも１つ」という語句は、リストされた項目のうちの１つ又は複数についての異なる組み合わせを用いることができ、リスト内のただ１つの項目が必要とされてもよいことを意味する。例えば、「Ａ、Ｂ及びＣの少なくとも１つ」は、Ａ、Ｂ、Ｃ、Ａ及びＢ、Ａ及びＣ、Ｂ及びＣ、並びにＡ及びＢ及びＣのうちのいずれかを含む。
【００７３】
[0067]本開示は特定の実施形態及び一般に関連付けられる方法について説明したが、これらの実施形態及び方法について変更及び置換は当業者にとって明らかであろう。したがって、例示的な実施形態についての上記の説明は、本開示を定義したり拘束したりするものではない。他の変化、置換及び変更もまた、以下の特許請求の範囲によって規定されるような本開示の趣旨及び範囲から逸脱することなく可能である。
【図１】
2017511024.tif 000006
【図２】
2017511024.tif 000007
【図３】
2017511024.tif 000008
【図４】
2017511024.tif 000009
【図５】
2017511024.tif 000010
【手続補正書】
【提出日】平成28年11月18日(2016.11.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ネットワークを介して第１の分散制御システム（ＤＣＳ）ノード（２０２）において、セキュリティマネージャ（２０８）に関連付けられる情報を受け取るステップ（３０４）と、
前記情報を使用して、前記ネットワークを介して前記第１のＤＣＳノードと前記セキュリティマネージャとの間に複数の通信チャネルを確立するステップ（３０６、３１０）であって、前記通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含む、ステップと、
前記セキュアでないチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティ認証情報を受け取るステップ（３０８）と、
前記セキュアなチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取るステップ（３１２）と、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記第１のＤＣＳノードを移行させるステップ（３１６）と
を含む、方法。
【請求項２】
前記セキュリティマネージャに関連付けられる情報を受け取るステップは、
ブートストラッププロトコル（ＢＯＯＴＰ）要求（４０２）を前記第１のＤＣＳノードからＢＯＯＴＰサーバ（２０６）に送るステップ（３０２）と、
前記第１のＤＣＳノードにおいて前記ＢＯＯＴＰサーバからＢＯＯＴＰ応答（４０４）を受け取るステップ（３０４）であって、前記ＢＯＯＴＰ応答は、前記セキュリティマネージャのネットワークアドレス及び前記セキュリティマネージャと通信するために使用するポートの識別子を含む、ステップと
を含む、請求項１に記載の方法。
【請求項３】
セキュリティプロキシ（５０６）を介して前記セキュリティマネージャと間接的に通信するステップであって、前記セキュリティプロキシはサブネットワーク内に配置され、前記セキュリティマネージャは前記サブネットワークの外に配置される、ステップ
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第２のＤＣＳノードと通信するように前記第１のＤＣＳノードを移行させるステップの前に、
前記第１及び第２のＤＣＳノードの両方が互いに安全に通信する準備ができていることを検証するために、ハンドシェイク動作を実行するステップ（３１４）
をさらに含み、
前記ハンドシェイク動作は４方向ハンドシェイク（４１６）を含み、前記４方向ハンドシェイクは、
前記第１のＤＣＳノードが、第１のポリシー更新メッセージを前記第２のＤＣＳノードに送り、前記第２のＤＣＳノードから第１の肯定応答を受け取ること、及び
前記第１のＤＣＳノードが、第２のポリシー更新メッセージを前記第２のＤＣＳノードから受け取り、前記第２のＤＣＳノードに第２の肯定応答を送ること
を含む、請求項１に記載の方法。
【請求項５】
第１の分散制御システム（ＤＣＳ）ノード（２０２）であって、
セキュリティマネージャ（２０８）に関連付けられる情報をネットワークを介して受け取るように構成される少なくとも１つのインターフェース（１４６、１５２）と、
前記情報を使用して、前記ネットワークを介して、前記第１のＤＣＳノードと前記セキュリティマネージャとの間にセキュアでないチャネル及びセキュアなチャネルを含む複数の通信チャネルを確立し、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して前記セキュリティマネージャからセキュリティ認証情報を受け取り、
前記少なくとも１つのインターフェースを介して、前記セキュアなチャネルを介して前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取り、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記少なくとも１つのインターフェースを移行させる
ように構成される少なくとも１つの処理装置（１４２、１４８）と
を含む第１のＤＣＳノードを備える、装置。
【請求項６】
前記少なくとも１つの処理装置は、
第１の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアでないチャネルを確立し、
第２の所定のポリシーを使用して、前記セキュリティマネージャとの前記セキュアなチャネルを確立する
ように構成され、
前記少なくとも１つの処理装置は、前記セキュアでないチャネルを確立した後であるが前記セキュアなチャネルを確立する前に、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して加入要求（４０６）の前記セキュリティマネージャへの送信を開始し、
前記少なくとも１つのインターフェースを介して、前記セキュアでないチャネルを介して前記セキュリティマネージャから加入応答（４０８）を受け取り、前記加入応答は前記セキュリティ認証情報を表す証明書を含む
ように構成される、請求項５に記載の装置。
【請求項７】
前記セキュリティポリシーは、前記第１及び第２の所定のポリシーとは異なる、請求項６に記載の装置。
【請求項８】
コンピュータプログラムを具現化する非一時的なコンピュータ読み取り可能な媒体であって、前記コンピュータプログラムは、
ネットワークを介して、第１の分散制御システム（ＤＣＳ）ノード（２０２）において、セキュリティマネージャ（２０８）に関連付けられる情報を受け取り（３０４）、
前記情報を使用して、前記ネットワークを介して前記第１のＤＣＳノードと前記セキュリティマネージャとの間に複数の通信チャネルを確立し（３０６、３１０）、前記通信チャネルはセキュアでないチャネル及びセキュアなチャネルを含み、
前記セキュアでないチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティ認証情報を受け取り（３０８）、
前記セキュアなチャネルを介して、前記第１のＤＣＳノードにおいて前記セキュリティマネージャからセキュリティポリシー及びアクティブ化時間を受け取り（３１２）、
前記アクティブ化時間において、前記セキュリティポリシーを使用して、前記ネットワークを介して第２のＤＣＳノード（２０４）と通信するように、前記第１のＤＣＳノードを移行させる（３１６）
ためのコンピュータ読み取り可能なプログラムコードを含む、非一時的なコンピュータ読み取り可能な媒体。
【国際調査報告】
2017511024.tif 000011
2017511024.tif 000012