(57)【要約】      （修正有）【課題】プロセスプラント及びプロセス制御システム内への侵入に対して防御するシステム、デバイス、及び方法を提供する。【解決手段】プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための方法は、メッセージヘッダとメッセージペイロードとを含むメッセージを受信することと、メッセージが、組み込みノードの１つ以上の保護された機能にアクセスするように構成されているロック解除メッセージであることを、少なくともメッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって決定することとを含む。また、手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定し、これらの決定に基づいて、保護された機能のうちの１つ以上がアクセス可能なロック解除された状態に組み込みノードを進入させるかまたはさせないかを決定することを含む。【選択図】図１
2019049968.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための方法であって、前記方法が、
通信ネットワークを介してメッセージを受信することであって、前記メッセージがメッセージヘッダ及びメッセージペイロードを含む、受信することと、
前記メッセージが前記組み込みノードの１つ以上の保護された機能にアクセスするように構成されたロック解除メッセージであることを決定することであって、前記メッセージがロック解除メッセージであることを決定することが、前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することを含む、決定することと、
手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定することと、
（ｉ）前記メッセージがロック解除メッセージであるとの前記決定、及び（ｉｉ）前記手動制御機構が前記特定の状態に配置されているとの前記決定に基づき、前記組み込みノードをロック解除された状態に進入させるかまたはさせないことと、を含む、方法。
【請求項２】
前記組み込みノードをロック解除された状態に進入させるかまたはさせないことが、
（ｉ）前記メッセージがロック解除メッセージであり、かつ（ｉｉ）前記手動制御機構が前記特定の状態に配置されているとの決定に応じて、前記組み込みノードを前記ロック解除された状態に進入させること、または
（ｉ）前記メッセージがロック解除メッセージであり、かつ（ｉｉ）前記手動制御機構が前記特定の状態に配置されていないとの決定に応じて、前記組み込みノードを前記ロック解除された状態に進入させないことのいずれかを含む、請求項１に記載の方法。
【請求項３】
前記組み込みノードをロック解除された状態に進入させるかまたはさせないことが、
（ｉ）前記メッセージがロック解除メッセージであり、かつ（ｉｉ）前記手動制御機構が前記特定の状態に配置されているとの決定に応じて、前記ロック解除メッセージを前記組み込みノードもしくは前記組み込みノードの親であるコントローラのいずれかに転送すること、または
（ｉ）前記メッセージがロック解除メッセージであり、かつ（ｉｉ）前記手動制御機構が前記特定の状態に配置されていないとの決定に応じて、前記ロック解除メッセージを転送することなく、前記ロック解除メッセージをドロップすることのいずれかを含む、請求項１に記載の方法。
【請求項４】
通信ネットワークを介してメッセージを受信することが、前記通信ネットワークを介して暗号化されたメッセージを受信することを含み、前記暗号化されたメッセージは、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含む、請求項１に記載の方法。
【請求項５】
前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、前記メッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内の１つ以上のビットのビットシーケンスを分析することを含む、請求項１に記載の方法。
【請求項６】
前記組み込みノードがコントローラである、請求項１に記載の方法。
【請求項７】
前記組み込みノードがコントローラの子ノードであり、
前記組み込みノードをロック解除された状態に進入させるかまたはさせないことが、（ｉ）前記メッセージがロック解除メッセージであり、かつ（ｉｉ）前記手動制御機構が前記特定の状態に配置されているとの決定に応じて、前記子ノードを前記ロック解除された状態に進入させることを含み、
前記子ノードを前記ロック解除された状態に進入させることが、
前記コントローラにおいて、前記子ノードによって認識される値を含有するように前記メッセージヘッダ内の前記ビットシーケンスを修正することと、
前記メッセージヘッダ内の前記ビットシーケンスを修正した後に、前記メッセージを前記コントローラから前記子ノードに転送することと、を含む、請求項６に記載の方法。
【請求項８】
通信ネットワークを介してメッセージを受信することが、前記通信ネットワークを介して暗号化されたメッセージを受信することを含み、前記暗号化されたメッセージは、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含み、
前記子ノードを前記ロック解除された状態に進入させることが、前記メッセージを前記コントローラから前記子ノードに転送する前に、
前記暗号化されたメッセージペイロードを復号化することと、
前記復号化されたメッセージペイロード内の１つ以上のビットのビットシーケンスを、ロック解除メッセージインジケータとして前記子ノードによって認識される値に修正することと、をさらに含む、請求項７に記載の方法。
【請求項９】
前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、前記メッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内のビットシーケンスを分析することを含み、
前記子ノードによって認識される値を含有するように前記メッセージヘッダ内の前記ビットシーケンスを修正することが、前記子ノードによって認識されるＥｔｈｅｒｔｙｐｅ情報を含有するように前記Ｅｔｈｅｒｔｙｐｅフィールドを修正することを含む、請求項７に記載の方法。
【請求項１０】
前記子ノードがロジックソルバである、請求項７に記載の方法。
【請求項１１】
前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、前記メッセージヘッダ内の前記ビットシーケンスを、ロック解除メッセージに対応することが知られているビットシーケンスと比較することを含む、請求項１に記載の方法。
【請求項１２】
手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定することが、物理ボタンが現在、ヒューマンオペレータによって押圧されているかどうかを決定することを含む、請求項１に記載の方法。
【請求項１３】
侵入保護デバイスであって、
手動制御機構と、
１つ以上のプロセッサと、を備え、前記プロセッサが、
通信ネットワークを介して、メッセージヘッダ及びメッセージペイロードを含むメッセージを受信し、
前記メッセージが、プロセス制御システムの組み込みノードの１つ以上の保護された機能にアクセスするように構成されたロック解除メッセージであるかどうかを、少なくとも前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって決定し、
前記手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定し、
前記メッセージがロック解除メッセージであり、かつ前記手動制御機構が前記特定の状態に配置されていると決定すると、前記組み込みノードをロック解除された状態に進入させるように構成されている、侵入保護デバイス。
【請求項１４】
前記メッセージヘッダ内の前記ビットシーケンスが、前記メッセージヘッダのＥｔｈｅ
ｒｔｙｐｅフィールド内のビットシーケンスである、請求項１３に記載の侵入保護デバイス。
【請求項１５】
前記手動制御機構が物理ボタンである、請求項１３に記載の侵入保護デバイス。
【請求項１６】
前記１つ以上のプロセッサが、少なくとも
前記ロック解除メッセージを、前記組み込みノードまたは前記組み込みノードの親であるコントローラのいずれかに転送することによって、前記組み込みノードをロック解除された状態に進入させるように構成されている、請求項１３に記載の侵入保護デバイス。
【請求項１７】
プロセス制御システムのセキュアなサブシステムであって、前記セキュアなサブシステムが、
１つ以上のプロセス制御モジュールを実装するように構成された１つ以上のコントローラプロセッサを含むコントローラと、
複数の機能を支持するように構成された１つ以上のロジックソルバプロセッサを含むロジックソルバであって、前記複数の機能が１つ以上の保護された機能を含み、前記ロジックソルバが前記コントローラの子ノードとして前記コントローラに連結されている、ロジックソルバと、
侵入保護デバイスであって、
手動制御機構、及び
１つ以上の侵入保護プロセッサを含み、前記侵入保護プロセッサが、
通信ネットワークを介して、メッセージヘッダ及びメッセージペイロードを含むメッセージを受信し、
前記メッセージがロック解除メッセージであるかどうかを、少なくとも前記メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって決定し、
前記手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定し、
前記メッセージがロック解除メッセージであり、かつ前記手動制御機構が前記特定の状態に配置されていると決定すると、前記メッセージを前記コントローラに転送するように構成されている、侵入保護デバイスと、を備え、
前記１つ以上のコントローラプロセッサは、前記メッセージが前記コントローラに転送されると、
前記ロジックソルバによって認識される値を含有するように前記メッセージの前記メッセージヘッダ内の前記ビットシーケンスを修正し、
前記メッセージヘッダ内の前記ビットシーケンスを修正した後に、前記メッセージを前記ロジックソルバに転送するようにさらに構成され、
前記１つ以上のロジックソルバプロセッサは、前記メッセージが前記ロジックソルバに転送されると、
前記メッセージがロック解除メッセージであるかどうかを、少なくとも前記メッセージペイロード内の１つ以上のビットのビットシーケンスを分析することによって決定し、
前記メッセージがロック解除メッセージであると決定すると、前記１つ以上の保護された機能のうちの少なくとも１つをロック解除するように構成されている、セキュアなサブシステム。
【請求項１８】
前記通信ネットワークを介して受信された前記メッセージが、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含む暗号化されたメッセージである、請求項１７に記載のセキュアなサブシステム。
【請求項１９】
前記１つ以上のコントローラプロセッサは、前記メッセージが前記コントローラに転送されると、
前記暗号化されたメッセージペイロードを復号化し、
ロック解除メッセージインジケータとして前記ロジックソルバによって認識される値を含有するように前記復号化されたメッセージペイロード内の前記ビットシーケンスを修正するようにさらに構成されている、請求項１８に記載のセキュアなサブシステム。
【請求項２０】
前記１つ以上のコントローラプロセッサが、前記暗号化されたメッセージの任意の部分を最初に復号化することなく、前記暗号化されたメッセージを前記ロジックソルバに転送するように構成されている、請求項１８に記載のセキュアなプロセス制御サブシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、広義には、プロセスプラント及びプロセス制御システムに関し、より具体的には、プロセスプラント及びプロセス制御システム内への侵入に対して防御するシステム、デバイス、及び方法に関する。
【背景技術】
【０００２】
化学プラント、石油プラント、または他のプロセスプラント内で使用されるもののような、分散型プロセス制御システムは、Ｉ／Ｏカードもしくはデバイス、アナログバス、デジタルバス、もしくは混合アナログ／デジタルバス、及び／または無線通信リンクもしくはネットワークを介して１つ以上のフィールドデバイスに通信可能に連結された１つ以上のプロセスコントローラを典型的に含む。例えば、バルブ、バルブポジショナ、アクチュエータ、スイッチ、及び送信器（例えば、温度、圧力、レベル、及び流速センサ）であり得るフィールドデバイスは、プロセス環境内に配置され、概して、バルブの開放または閉鎖、圧力、温度等のプロセスパラメータの測定等の物理的機能またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行中の１つ以上のプロセスを制御する。公知のＦｉｅｌｄｂｕｓプロトコルに準拠するフィールドデバイス等の、スマートフィールドデバイスは、制御計算、アラーム機能、及びコントローラ内で一般に実装される他の制御機能もまた実行し得る。プロセスコントローラは、これもまた同様に典型的にはプラント環境内に配置されるが、フィールドデバイスによって行われるプロセス測定を示す信号及び／またはフィールドデバイスに関する他の情報を受信し（例えば、それぞれのＩ／Ｏカードまたはデバイスを介して）、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を生成し、フィールドデバイス（例えば、ＨＡＲＴ（登録商標）、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）、及びＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等）で実行される制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラの制御モジュールは、通信ラインまたはリンクを通じて、制御信号をフィールドデバイスに送り、それによって、プロセスプラントまたはシステムの少なくとも一部のオペレーションを制御する。本明細書において、フィールドデバイス、Ｉ／Ｏカードまたはデバイス、コントローラ、及び他の関連デバイスは、概して、「プロセスデバイス」または「プロセス制御デバイス」と称されることがある。
【０００３】
フィールドデバイス及びコントローラからの情報は、制御室もしくはより厳しいプラント環境からは離れた他の場所に典型的には配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または他の集中管理コンピューティングデバイス等の、１つ以上の他のハードウェアデバイスに対して、通常、通信ネットワークを通じて利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールのオペレーションの修正、プロセスの現在の状態の閲覧、フィールドデバイス及びコントローラによって生成されたアラームの閲覧、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスのオペレーションのシミュレーション、構成データベースの保守及び更新等の、プロセスの制御及び／またはプロセスプラントの動作に関する機能を行うことを可能にし得るアプリケーションを実行する。ハードウェアデバイス、コントローラ、及びフィールドデバイスによって利用される通信ネットワークには、有線通信パス、無線通信パス、また
は有線及び無線通信パスの組み合わせが含まれ得る。
【０００４】
例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（商標）制御システムは、プロセスプラント内の多様な場所に配置された異なるデバイス内に記憶され、それら異なるデバイスによって実行される複数のアプリケーションを含む。１つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、及び通信ネットワークを介した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を行い、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつプロセス制御ルーチン内の設定点等の設定のオペレータによる変更を可能にするために表示アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、及び一部の場合においては、１つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶及び実行する。閲覧アプリケーションは、１つ以上のオペレータワークステーション（またはオペレータワークステーション及び通信ネットワークと通信可能に接続された１つ以上のリモートコンピューティングデバイス）上で実行され得、この閲覧アプリケーションは、コントローラアプリケーションから通信ネットワークを介してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、または他のユーザに表示して、オペレータのビュー、エンジニアのビュー、技術者のビュー等のいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、通信ネットワークにわたって提供されたデータの一部または全てを収集及び記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成及びそれに関連するデータを記憶するために、通信ネットワークに接続されたさらに離れたコンピュータで実行され得る。あるいは、構成データベースは、構成アプリケーションと同じワークステーション内に配置されてもよい。
【０００５】
したがって、概して、プロセスプラントのプロセス制御システムは、一組のネットワーク及びバスによって相互接続されるフィールドデバイス、コントローラ、ワークステーション、及び他のデバイスを含む。多くのプロセス制御デバイス及び機能の（例えば、プラント機器、製品、もしくはさらには人命の損傷、破壊、及び／または損失に関する）危険な状態により、ある特定の機能をロックして不正アクセスを防止することができる。例えば、セキュアなサブシステム（例えば、ＤｅｌｔａＶ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒａｔｅｄ  Ｓｙｓｔｅｍ（商標）またはＳＩＳ（商標））におけるコントローラ及び／またはロジックソルバ等の組み込みノードをロックして不正なダウンロード、ファームウェアのアップグレード、メンテナンス／診断機能へのアクセス、デコミッショニング、及び／または他の機能を防止することができる。かかる保護は、プロセス制御システムが様々な外部ネットワークに接続されている場合、例えば、製造コスト及びオペレーションコストの低減、生産性及び効率の向上、プロセス制御及び／またはプロセスプラント情報への時宜を得たアクセスの提供等の目的のために特に重要であり得る。概して、企業ならびに／または外部ネットワーク及びシステムに対するプロセスプラント及び／またはプロセス制御システムの相互接続は、企業及び／または外部ネットワークにおいて使用されるもの等の市販のシステム及びアプリケーションにおける典型的なまたは予測される脆弱性から生じ得るサイバ侵入及び／または悪意のあるサイバ攻撃のリスクを増加させる。
【０００６】
多くの従来のプロセス制御システムでは、組み込みノードが特別な「ロック解除メッセージ」を受信する場合にロックされた組み込みノードをロック解除することができる。典型的には、プロセス制御システムのメッセージは、メッセージヘッダとメッセージペイロードとの両方で構造化され、所与のメッセージは、そのメッセージがメッセージペイロード内の特定の既知の位置において特定の既知のビット列を含有する場合（及びその場合のみ）、「ロック解除」メッセージとして認識される。図１は、この種類の従来のロック解除メッセージ１０を示す。図１に見られるように、ロック解除メッセージ１０は、ソースフィールド、宛先フィールド、及びＥｔｈｅｒｔｙｐｅフィールドを含む様々なフィールドを含む従来のメッセージヘッダ１２を含む。ロック解除メッセージ１０はまた、とりわけ、ロック解除インジケータに対応することが（例えば、組み込みノードによって）知られている位置１６においてビットシーケンスを含むメッセージペイロード１４を含む。位置１６におけるビットが特定の所定の値／シーケンスを有する場合、メッセージ１０はロック解除メッセージとして識別され、保護された機能はロック解除される。したがって、従来のシステムでは、特定のメッセージがロック解除メッセージであるかどうかを決定することはディープパケットインスペクション（すなわち、メッセージペイロードの分析）を必要とする。
【０００７】
適切なロック解除メッセージフォーマットを学習したかもしれないある特定のソースからのアクセスを含む不正アクセスに対する保護を支援するために、ファイアウォールデバイスがプロセス制御システム内、例えば、オペレータワークステーションとセキュアなサブシステムとの間で典型的に用いられる。セキュリティの追加の層として、「侵入保護デバイス」または「ＩＰＤ」として知られているこれらのファイアウォールデバイスのうちのいくつかは、組み込みノードのロック解除のための（すなわち、組み込みノードのある特定の保護された特徴／機能性をロック解除するための）ゲートキーパとして作用する。ＩＰＤは、典型的には、オペレータが物理的に押すことができるハードウェアボタンを含む。ＩＰＤボタンが押圧されているときに、組み込みノードのために定められているロック解除メッセージをＩＰＤが受信する場合、ＩＰＤはロック解除メッセージを組み込みノードに転送し、これによりロックされた特徴／機能を利用可能にする。逆に、ＩＰＤボタンが押圧されていないときに、組み込みノードのために定められたロック解除メッセージをＩＰＤが受信する場合、ＩＰＤはロック解除メッセージをドロップし、組み込みノードのロックされた特徴／機能はアクセスできないままとなる。したがって、ＩＰＤボタンが押圧されているときに、ロック解除メッセージが受信される場合、及びその場合のみ、ロック解除が行われる。
【０００８】
暗号化されていないトラフィックを交換するのみのプロセス制御システムでは、これらの従来のアプローチはネットワーク侵入の予防において極めて効果的であり得る。しかしながら、データトラフィックの暗号化がプロセス制御システム内のデータセキュリティを強化するために必要であるか、または望ましい場合がある。典型的には、トラフィックが暗号化されると、ロック解除メッセージを信号化するために使用されるビットを含む各メッセージのペイロード全体が暗号化される。したがって、メッセージペイロードを最初に復号化することなく、特定の暗号化されたメッセージがロック解除メッセージであるかどうかを決定することは概して不可能である。残念ながら、メッセージペイロードを復号化することは、セキュアなサブシステムを有害なネットワーク侵入に曝すことがある。したがって、かかるメッセージが暗号化されているときであっても、組み込みノードのロック解除メッセージに対するＩＰＤの保護をセキュアな様式で実装することができる方法、システム、及びデバイスの必要性がある。
【発明の概要】
【０００９】
プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための技術、システム、装置、構成要素、デバイス、及び方法
を本明細書において開示する。そのような技術、システム、装置、構成要素、デバイス、及び方法は、工業プロセス制御システム、環境、及び／またはプラントに対して適用することができ、これらは本明細書においては交換可能に、「工業制御」、「プロセス制御」、もしくは「プロセス」システム、環境、及び／またはプラントとも呼ばれる。典型的には、そのようなシステム及びプラントは、分散型の様式で、物理的物質または生産物を製造、精製、変形、生成、または生産するように動作する、１つ以上のプロセスの制御を提供する。
【００１０】
暗号化されたメッセージを利用する（または潜在的に利用する）プロセス制御システムでは、ロック解除メッセージはメッセージヘッダ内のインジケータを分析することによって識別される。いくつかの実施形態では、特定のデータパケットフォーマット／プロトコルによって定義された特定のフィールド（例えば、従来のＥｔｈｅｒｎｅｔフレームの２バイトのＥｔｈｅｒｔｙｐｅフィールド）を、ロック解除メッセージインジケータとして使用するために少なくとも部分的に再利用することができる。ロック解除メッセージは、侵入保護デバイス（ＩＰＤ）に知られている事前に定義されたビットシーケンスを使用して示すことができる。ＩＰＤは、ロック解除メッセージに対応するシーケンス（または複数の可能なシーケンスのセット）を学習し得、及び／または、例えば、ダウンロードされた専門のソフトウェアまたはファームウェアを有することによって、シーケンス（例えば、Ｅｔｈｅｒｔｙｐｅフィールド内）の位置を学習し得る。
【００１１】
暗号化されたメッセージは、典型的には、ヘッダではなくペイロードを暗号化する。したがって、メッセージヘッダを検査することによって、ＩＰＤは、ディープパケットインスペクションに必要な復号化を遂行することなく、ロック解除メッセージを識別することができる。より一般的に、ＩＰＤのファイアウォール技術は、任意のペイロード情報ではなく、ソース、宛先、及びタイプ等のヘッダ情報だけに基づくことによって、ディープパケットインスペクションを回避し得る。
【００１２】
したがって、ＩＰＤによって保護される任意の組み込みノード及び／またはセキュアなサブシステムは、侵入の影響を受けることが極めて少ない場合がある。ロック解除メッセージを識別するための本明細書に記載される新しい技術以外、組み込みノードのロック解除は従来のＩＰＤと同様の様式で進めることができる。例えば、ＩＰＤは、ＩＰＤ上の物理的制御（例えば、ボタン）がオペレータによって作動（例えば、押圧）されている間にロック解除メッセージが受信されない限り、（ロック解除インジケータのビットシーケンスに基づいて）そのように識別される各々のロック解除メッセージを破棄またはドロップすることができる。
【図面の簡単な説明】
【００１３】
【図１】従来のプロセス制御システムにおいて保護された機能をロック解除するために使用される従来技術のロック解除メッセージを示す。
【図２】プロセス制御システムにおいて保護された機能をロック解除するために使用され得る新しい例示的なロック解除メッセージを示す。
【図３】図２のロック解除メッセージ等のロック解除メッセージを利用する例示的なセキュアなサブシステムのブロック図である。
【図４】図２のロック解除メッセージ等のロック解除メッセージを利用する別の例示的なセキュアなサブシステムのブロック図である。
【図５】図２のロック解除メッセージ等のロック解除メッセージを利用するか、ならびに／または図３及び／もしくは４のセキュアなサブシステム等の１つ以上のセキュアなサブシステムを組み込む例示的なプロセス制御環境のブロック図である。
【図６】プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための例示的な方法を示すフロー図である。
【図７】プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための別の例示的な方法を示すフロー図である。
【発明を実施するための形態】
【００１４】
図２は、一実施形態によるプロセス制御システムにおいて１つ以上の保護された機能をロック解除するために使用され得る例示的なロック解除メッセージ１００を示す。保護された機能は、プロセス制御システムのセキュアなサブシステム（例えば、ＤｅｌｔａＶ  Ｓａｆｅｔｙ  Ｉｎｔｅｇｒａｔｅｄ  ＳｙｓｔｅｍまたはＳＩＳ）において１つ以上の組み込みノード（例えば、コントローラ（複数可）、ロジックソルバ（複数可）等）によって提供されるかまたは別様に関連付けられる機能を含み得る。保護された機能（複数可）は、診断機能、アップグレード機能、デコミッショニング機能、及び／または制御／制限されたアクセスが所望される１つ以上の他の機能を含み得る。
【００１５】
図２で見られるように、ロック解除メッセージ１００は、暗号化されていないメッセージヘッダ１０２と、暗号化されているメッセージペイロード１０４とを含む。メッセージペイロード１０４は、任意の好適な暗号化技術を使用してロック解除メッセージ１００のソース（または中継デバイス）によって暗号化された可能性があり、ロック解除メッセージ１００が概ね準拠するプロトコルまたは標準（例えば、特定のＩＥＥＥ標準）の制限を受ける任意の長さであり得る。図１の例示の実施形態では、メッセージヘッダ１０２は、（ロック解除メッセージ１００のソースのＭＡＣアドレスとしてプロトコルによって定義される）ソースフィールド、（ロック解除メッセージ１００の意図された宛先のＭＡＣアドレスとしてプロトコルによって定義される）宛先フィールド、（プロトコルが、例えば、ＩＰｖ４、ＡＲＰ、Ｗａｋｅ−ｏｎ−ＬＡＮ、ＴＲＩＬＬ等のメッセージペイロード１０４内にカプセル化されている表示としてプロトコルによって、及び場合によってはメッセージペイロード１０４及び／またはロック解除メッセージ１００のサイズによって定義される）Ｅｔｈｅｒｔｙｐｅフィールド、及び同じプロトコル／標準にも準拠し得る１つ以上の他のフィールド（例えば、プレアンブル、デリミタ等）を含む。
【００１６】
メッセージヘッダ１０２内の位置１０６において、１つ以上のビットのシーケンスは、メッセージ１００がロック解除メッセージであることを示す。いくつかの実施形態では、単一の事前に定義されたビットシーケンスを使用して組み込みノードの全てのロックされた機能をロック解除する一方、他の実施形態では、異なる組み込みノード機能をロック解除するために異なるビットシーケンスが必要である。図２の実施形態では、ビットシーケンスの位置１０６は、メッセージヘッダ１０２のＥｔｈｅｒｔｙｐｅフィールドの標準／プロトコルにより定義された位置と正確に一致する。いくつかの実施形態では、Ｅｔｈｅｒｔｙｐｅフィールドは２バイトのフィールドである。かかる実施形態では、例えば、正確なビットシーケンス「１０１０  １０１０  １０１０  １０１０」は、メッセージ１００がロック解除メッセージであることを示し得る。しかしながら、他の実施形態では、ロック解除メッセージを示すビットシーケンスは、特定のフィールドの全てのビットを占有しない。例えば、位置１０６が２バイトのＥｔｈｅｒｔｙｐｅフィールドと一致する場合、「１ｘｘｘｘｘｘｘ  ｘｘｘｘｘｘｘｘ」の任意のビットシーケンスは、「ｘ」がいずれかの値（０または１）であり得る「ドントケア」ビットを表すロック解除メッセージを示し得る。したがって、位置１０６のビットは、いくつかの実施形態では、ロック解除インジケータを提供する一方、他の情報（例えば、メッセージペイロード１０４内にカプセル化されたプロトコルのタイプに関する情報）も提供する。さらに、いくつかの実施形態では、Ｅｔｈｅｒｔｙｐｅ（または他のヘッダ）フィールドを使用してもロック解除メッセージ以外の他のタイプのメッセージを示すことができる。
【００１７】
代替的な実施形態では、ロック解除インジケータ（ビットシーケンス）は、ヘッダ１０２内の、通常Ｅｔｈｅｒｔｙｐｅフィールドに関連付けられる位置以外の異なる位置であ
ってもよい。さらに、いくつかの実施形態では、メッセージヘッダ１０２は、図２に示されるものに比べて、より多くのフィールド、より少ないフィールド、及び／または異なるフィールドを含み得る。より一般的に、全体としてロック解除メッセージ１００は、図１に示されるものとは異なって配置されてもよい。例えば、ロック解除メッセージ１００は、メッセージペイロード１０４の後に、巡回冗長検査（ＣＲＣ）フィールド及び／または１つ以上の他のフィールドを含有するフッタを含み得る。
【００１８】
ロック解除インジケータの位置１０６がメッセージペイロード１０４ではなくメッセージヘッダ１０２内にあるため、暗号化されたメッセージペイロード１０４を最初に復号化することなく、ロック解除メッセージを識別することが可能である。したがって、（ロック解除メッセージ１０が暗号化された場合にペイロード１４を復号化することを必要とするであろう）図１の先行技術のロック解除メッセージ１０とは異なり、復号化を遂行することなく、かつネットワーク侵入のリスクを増加させることなく、ロック解除メッセージを識別することが可能である。さらに、いくつかの実施形態では、ロック解除メッセージ１００が受信されるときにＩＰＤボタンまたは他の手動制御が作動されていない場合、ロック解除メッセージ１００のいずれの部分も絶対に復号化することなく、ロック解除メッセージ１００を適切に破棄することができる。
【００１９】
上述のように、ロック解除メッセージ１００を使用してセキュアなサブシステムにおける組み込みノードの１つ以上の保護された機能をロック解除することができる。１つのかかるセキュアなサブシステム１２０の一例を図３に示す。セキュアなサブシステム１２０は、例えば、ＤｅｌｔａＶ  ＳＩＳまたはその一部であってもよい。図３に見られるように、セキュアなサブシステム１２０は、セキュアなサブシステム１２０の組み込みノードであるコントローラ１２２と、コントローラ１２２（及び場合によっては図３に示されていないセキュアなサブシステム１２０の他の部分）への不正アクセスを防止するようにファイアウォールデバイスとして動作する侵入保護デバイス（ＩＰＤ）１２４とを含む。セキュアなサブシステム１２０の一部として図３に示されるが、ＩＰＤ１２４は、代わりに、セキュアなサブシステム１２０の外部（例えば、セキュアなサブシステム１２０のゲートウェイ）として見なされ得ることが理解される。
【００２０】
コントローラ１２２は、プロセス制御システム内の１つ以上の構成可能な制御ルーチン／モジュール（またはそれらの部分）を実装する（場合によってはファームウェア及び／またはハードウェアを含む）プロセス制御ソフトウェア１２６を含む。例えば、プロセス制御ソフトウェア１２６は、１つ以上のフィールドデバイスによって行われるプロセス測定を示す信号を受信し、これらの信号を分析して制御信号を生成し、これらの制御信号を１つ以上の他のフィールドデバイスに送信することによって、特定の制御ルーチンをコントローラ１２２に実装させる命令を含み得る。プロセス制御ソフトウェア１２６は、（例えば、図５に関連して後述される）構成ワークステーションからダウンロードされ、例えば、ハードドライブまたは固体メモリ等、コントローラ１２２の（図３に示されていない）永続メモリ内の命令として記憶されてもよい。代替的な実施形態では、コントローラ１２２は、代わりに、例えば、ロジックソルバ等の異なるタイプの組み込みノードである。
【００２１】
プロセス制御ソフトウェア１２６は、プロセス制御ソフトウェア１２６によって実装される任意の制御ルーチンに直接関連付けられた機能を含み得るかまたは含み得ない１つ以上の保護された機能／ロックされた機能１２８を支持し得る。例えば、保護された機能（複数可）１２８は、コントローラ１２２によって現在実行されている制御ルーチンを中断するための機能、コントローラ１２２によって現在実行されている制御ルーチンへの入力を導入するための機能、新しい制御ルーチンをコントローラ１２２にダウンロードするための機能、及びコントローラ１２２を診断モードに配置するための機能等を含み得る。プロセス制御ソフトウェア１２６はまた、以下でさらに論じられるように、受信メッセージ
がロック解除メッセージであるときに決定され、かつ有効なロック解除メッセージが受信されると保護された機能（複数可）１２８へのアクセスを許可するように構成されている。
【００２２】
ＩＰＤ１２４は、ファイアウォール１３０の命令を記憶する永続メモリ（例えば、図３に示されていないハードドライブまたは固体メモリ）を含む。ファイアウォール１３０は、概して、様々なセキュリティ監視機能及び／または様々なセキュリティ規則に基づいてＩＰＤ１２４によって受信されるネットワークトラフィックへの制御機能を適用するように構成されているソフトウェア、ファームウェア、及び／またはハードウェアを含む。ファイアウォール１３０は、例えば、コンピュータウイルスを検出及び隔離するように構成されたソフトウェアを含み得る。
【００２３】
ファイアウォール１３０はまた、ＩＰＤ１２４によって受信されるメッセージ／パケット間の有効なロック解除メッセージを識別するヘッダ検査ユニット１３２を含む。特に、ヘッダ検査ユニット１３２は、暗号化されていないメッセージヘッダ内の特定の位置（例えば、図２のメッセージヘッダ１０２内の位置１０６）においてビットシーケンスを調査し、メッセージがロック解除メッセージであることをビットシーケンスが示すかどうかを決定する。例えば、ヘッダ検査ユニット１３２は、その位置におけるビットシーケンスを、特定のビットシーケンスと、またはロック解除メッセージに対応することが知られているビットシーケンスの特定のセットと比較することができる。
【００２４】
所与のメッセージがロック解除メッセージであるとヘッダ検査ユニット１３２が決定する場合、ファイアウォール１３０は、概して（またはいくつかの実施形態では常に）、ロック解除メッセージが任意の保護された機能（複数可）１２８をロック解除するために、作動／押圧されなければならないＩＰＤボタン１３４の現在の状態を調査する。ＩＰＤボタン１３４は、ＩＰＤ１２４の表面上（または取り外し可能なカバー等の下）に露出された物理ボタンであり得る。他の実施形態では、ＩＰＤボタン１３４は、スイッチを「オン」に切り替えることによって作動されるトグルスイッチ、または特定の組み合わせ／コード等に従って個々のボタン／ダイヤル／スイッチ等の各々を設定することによって作動されるボタン、ディスク、ダイヤル、スイッチ等のセット等の異なるタイプの手動制御である。
【００２５】
ＩＰＤボタン１３４が現在作動されている（例えば、押圧されている）とファイアウォール１３０が決定する場合、ＩＰＤ１２４はロック解除メッセージをコントローラ１２２に転送し得る。次に、コントローラ１２２は、メッセージヘッダの適切な位置でビットシーケンスを調査して、メッセージをロック解除メッセージとして認識し、必要に応じて保護された機能（複数可）１２８へのアクセスを提供し得る。代わりに、ＩＰＤボタン１３４が現在作動されていないとファイアウォール１３０が決定する場合、ＩＰＤ１２４はロック解除メッセージを破棄することができ、決してロック解除メッセージをコントローラ１２２に転送しない。
【００２６】
他の実施形態では、ロック解除メッセージはまた、メッセージペイロード内（例えば、図１に示されるようなインジケータの従来の位置）に第２のロック解除インジケータを含み、コントローラ１２２は、第２のロック解除インジケータを分析することによって（すなわち、復号化後）、メッセージをロック解除メッセージとして識別する。しかしながら、この後者の実施形態であっても、ＩＰＤ１２４は、依然として、ＩＰＤボタン１３４が作動されていない時間に対応する不正ロック解除メッセージを破棄する。したがって、コントローラ１２２は、依然として、大多数のまたは全ての不正ロック解除メッセージを復号化する必要はない。
【００２７】
代替的な実施形態では、ファイアウォール１３０は、ロック解除メッセージをコントローラ１２２に転送するために、ＩＰＤボタン１３４が現在作動されていることを必要としない。例えば、ＩＰＤボタン１３４が、最後の５秒間のある時点等において、押圧されていたか、または別様に作動されていたのであれば十分である場合がある。
【００２８】
ロック解除インジケータがＥｔｈｅｒｔｙｐｅフィールドの位置（例えば、図２の位置１０６）にあるいくつかの実施形態では、コントローラ１２２は、（例えば、コントローラ１２２が、ＩＰＤ１２４と同じ様式でヘッダを分析することによってロック解除メッセージを識別する場合に）Ｅｔｈｅｒｔｙｐｅフィールドを無視するか、または（例えば、図２に関連して上述されるように、ロック解除インジケータがＥｔｈｅｒｔｙｐｅインジケータと組み合わされている場合に）非従来の様式でＥｔｈｅｒｔｙｐｅフィールドを分析するように構成されている。他の実施形態（例えば、コントローラ１２２がメッセージペイロードを分析することによって従来の様式でロック解除メッセージを識別するいくつかの実施形態）では、ＩＰＤ１２４がＥｔｈｅｒｔｙｐｅフィールド内のロック解除インジケータを分析した後、ＩＰＤ１２４はコントローラ１２２によって認識可能な標準値にＥｔｈｅｒｔｙｐｅフィールドを修正する。
【００２９】
図２のロック解除メッセージ１００を利用し得る別のセキュアなサブシステム１４０を図４に示す。図４で見られるように、セキュアなサブシステム１４０（例えば、ＤｅｌｔａＶ  ＳＩＳまたはその一部）は、コントローラ１４２及びロジックソルバ１４４である２つの組み込みノードを含む。  コントローラ１４２は、例えば、図３のコントローラ１２２と同様であってもよい。その名前が示すように、ロジックソルバ１４４は、概して、プロセス制御システム内でロジック解決を遂行するように構成され得る。例えば、ロジックソルバ１４４と同様のいくつかのロジックソルバを使用して、コントローラ１４２によって実行されるいくつかの制御ルーチンを実行するのに必要なモジュール化された拡張可能なロジック解決タスクを遂行することができる。
【００３０】
コントローラ１４２及びロジックソルバ１４４は各々、１つ以上の保護された機能を遂行し得るか、または別様に当該機能と関連付けられ得る。保護された機能は、図３に関連して上述されるもの（例えば、ライブ制御ルーチンに影響を与える機能、更新機能、診断機能等）と同様であり得る。コントローラ１４２及びロジックソルバ１４４は、これらの機能及び他の機能を支持する命令を記憶する永続メモリを含み得る。
【００３１】
ＩＰＤ１４６は、コントローラ１４２、ロジックソルバ１４４、及び場合によっては図４に示されていないセキュアなサブシステム１４０の他の部分への不正アクセスを防止するファイアウォールデバイスとして動作する。ＩＰＤ１４６は、例えば、図３のＩＰＤ１２４と同様であってもよく、図３のヘッダ検査ユニット１３２と同様であり得るヘッダ検査ユニット１５０を含む。セキュアなサブシステム１４０の一部として図４に示されるが、ＩＰＤ１４６は、代わりに、セキュアなサブシステム１４０の外部（例えば、セキュアなサブシステム１４０のゲートウェイ）として見なされ得ることが理解される。
【００３２】
有線及び／または無線であり得るプロセス制御ネットワークまたはバックボーン１５２は、コントローラ１４２をロジックソルバ１４４に連結し、場合によってはいくつかの他のデバイス（例えば、他のロジックソルバ、Ｉ／Ｏカード等）にも連結する。ロジックソルバ１４４は、１つ以上の有線及び／または無線ネットワークを介して、セキュアなサブシステム１４０の（図４に示されない）いくつかのフィールドデバイスに連結され得る。
【００３３】
いくつかの実施形態では、コントローラ１４２の保護された機能へのアクセスは、図３に関連して上述される様式で動作する。例えば、ヘッダ検査ユニット１５０は、（暗号化されていても、されていなくてもよい）ネットワークトラフィック１６０において、各メ
ッセージヘッダを調査して、コントローラ１４２のために定められた特定のメッセージがロック解除メッセージであるかどうかを決定してもよく、また、ＩＰＤボタンまたは他の手動制御が現在作動されているかどうかを検出してもよい。手動制御が作動されている（またはいくつかの実施形態では、最近作動された）場合、ＩＰＤ１４６は、同じヘッダフィールド（または復号化後のメッセージペイロード内の第２のロック解除インジケータ）を分析するコントローラ１４２にロック解除メッセージを転送してロック解除メッセージを識別し、保護された機能へのアクセス（例えば、当該機能の実行）を可能にする。
【００３４】
いくつかの実施形態では、ロジックソルバ１４４の保護された機能へのアクセスは同様の様式で動作する。しかしながら、他の実施形態では、コントローラ１４２は、変更されたヘッダ（例えば、Ｅｔｈｅｒｔｙｐｅ）フィールドを有するメッセージ／パケットを認識する（または少なくとも破棄しない）ように構成されている一方、ロジックソルバ１４４は、そのように構成されていないため、かかるメッセージを破棄する。これらの後者の実施形態では、コントローラ１４２は、図４に示されるように、（例えば、コントローラ１４２の永続メモリ内に命令として記憶される）ヘッダ修正ユニット１６２を含み得る。ヘッダ修正ユニット１６２は、概して、（例えば、標準／プロトコルによって定義される）適切な値／認識される値に戻ってロック解除メッセージを示すために使用されたＥｔｈｅｒｔｙｐｅまたは他のヘッダフィールドを変更するように構成されている。
【００３５】
例えば、ネットワークトラフィック１６０が図２のロック解除メッセージ１００と同様のロック解除メッセージを含む場合、ヘッダ検査ユニット１５０は、メッセージヘッダ１０２の位置１０６でビットシーケンスを分析して、メッセージをロック解除メッセージとして識別し得る。ＩＰＤボタンまたは他の手動制御が適切な時間で作動されている場合、ＩＰＤ１４６はセキュアなネットワークトラフィック１６４内でロック解除メッセージをコントローラ１４２に転送する。コントローラ１４２は、様々な方法でロジックソルバ１４４のために定められたロック解除メッセージとしてメッセージを認識し得る。例えば、ＩＰＤ１４６は、等しく示すコントローラ１４２に付随データを送信し得るか、またはコントローラ１４２は、ロック解除インジケータ（ヘッダ内の、またはペイロード内の第２の復号化されたロック解除インジケータ）及び宛先ＭＡＣアドレスを調査することによってこれを決定し得る。
【００３６】
次に、コントローラ１４２のヘッダ修正ユニット１６２は、メッセージヘッダ内のロック解除インジケータを適用可能な標準またはプロトコルによって事前に定義されている値に変化させ、バックボーン１５２を介して、セキュアなネットワークトラフィック１６６内でロック解除メッセージをロジックソルバ１４４に転送する。次に、ロジックソルバ１４４は、Ｅｔｈｅｒｔｙｐｅフィールド（または他のヘッダフィールド）内の値を従来の様式で解釈し、復号化されたペイロード内のロック解除インジケータ（例えば、ネットワークトラフィック１６６のメッセージ内に元来存在したインジケータ、またはＩＰＤ１４６もしくはコントローラ１４２によって追加された新しいインジケータ）のいずれかを分析することによって、メッセージをロック解除メッセージとして認識し得る。次に、ロジックソルバ１４４は、保護された機能（複数可）へのアクセス（例えば、当該機能の実行）を可能にし得る。いくつかの代替的な実施形態では、ヘッダ修正ユニット１６２は、コントローラ１４２ではなく、ＩＰＤ１４６内または図４に示されていない別の中継デバイス内に位置する。
【００３７】
図５は、図２のロック解除メッセージ１００等のロック解除メッセージを利用し、ならびに／または図３のセキュアなサブシステム１２０及び／もしくは図４のセキュアなサブシステム１４０等の１つ以上のセキュアなサブシステムを組み込み得る例示的なプロセス制御環境２００のブロック図である。例示の環境２００では、点線より上のエリアは（比較的に）セキュアでない場合があるが、点線より下のエリアはセキュアなサブシステム（
例えば、ＤｅｌｔａＶ  ＳＩＳ）を表し得る。
【００３８】
プロセス制御環境２００は、フィールドデバイス（図５において図示せず）によって生み出されたプロセス測定値を示す信号を受信し、この情報を処理して制御ルーチンを実装し、かつ有線及び／または無線プロセス制御通信リンクまたはネットワークを通じて他のフィールドデバイス（これもまた図５において図示せず）に送信されてプロセス制御環境２００内のプロセスの運転を制御する制御信号を生成するいくつかのコントローラ２０２、２０４、２０６、２０８、２１０（本明細書において集合的に「コントローラ２０２〜２１０」と呼ぶ）を含む。典型的には、少なくとも１つのフィールドデバイスが物理的機能（例えば、バルブの開放または閉鎖、温度の増加または減少、測定の実行、条件の感知等）を実行して、プロセスの運転を制御する。いくつかのタイプのフィールドデバイスは、Ｉ／Ｏデバイスを使用することによって、コントローラ２０２、２０４、２０６、２０８、及び／または２１０と通信する。プロセスコントローラ２０２〜２１０、フィールドデバイス、及びＩ／Ｏデバイスは有線であっても無線であってもよく、任意の数及び組み合わせの有線及び無線のプロセスコントローラ、フィールドデバイス、及びＩ／Ｏデバイスがプロセス制御環境２００内に含まれてもよい。
【００３９】
例示の環境２００では、コントローラ２０２は、ＩＰＤ２２０に通信可能に接続され、コントローラ２０４は、ＩＰＤ２２２に通信可能に接続され、コントローラ２０６、２０８、２１０は、スイッチデバイス２２６を介して、ＩＰＤ２２４に通信可能に接続されている。コントローラ２０２〜２１０の各々はまた、上述のように、明瞭にするために図５に示されていない１つ以上のフィールドデバイス及び／または他の関連付けられたノード（例えば、ロジックソルバ）に（直接、及び／またはＩ／Ｏカードを介して）通信可能に連結されてもよい。フィールドデバイス（例えば、センサ、バルブ、モータ、送信器、ポジショナ等）は、ＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓプロトコル、ＨＡＲＴ（登録商標）プロトコル、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）プロトコル等の任意の好適なスマート通信プロトコルを使用する任意の有線及び／または無線デバイスであってもよい。
【００４０】
（例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されているＤｅｌｔａＶコントローラであってもよい）コントローラ２０２〜２１０の各々は、プロセッサと、以下でさらに詳細に論じられる１つ以上のプロセス制御ルーチンのための命令を記憶するメモリとを含む。ＩＰＤ２２０、２２２、２２４も、プロセス制御通信ネットワークまたはバックボーン２３２に順に通信可能に接続されるスイッチデバイス２３０に通信可能に接続されている。バックボーン２３２は、１つ以上の有線及び／または無線通信リンクを含んでもよく、例えばＥｔｈｅｒｎｅｔプロトコル等の、任意の好適な通信プロトコルを使用して実装され得る。スイッチデバイス２２６及び２３０の各々は、指定されたレシピエント（例えば、宛先ＭＡＣアドレス）に基づいて、適切な経路に沿ってメッセージをルーティングし得る。
【００４１】
本明細書に記載される任意の制御ルーチンまたはモジュールは、そのように所望される場合は、その一部を異なるコントローラまたは他のデバイスによって実装または実行させてもよいことに留意されたい。同様に、プロセス制御環境１００内で実装される制御モジュールは、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形態を取ってもよい。制御ルーチンは、オブジェクト指向プログラミング、ラダーロジック、シーケンシャルファンクションチャート、機能ブロックダイアグラム、または他のソフトウェアプログラミング言語もしくは設計パラダイムを使用したもの等、任意の所望のソフトウェアフォーマットで実装されてもよい。制御ルーチンまたはモジュールが記憶されるメモリの各々は、ランダムアクセスメモリ（ＲＡＭ）または読み出し専用メモリ（ＲＯＭ）等の任意の好適な種類のメモリに記憶され得る。さらに、制御ルーチンまたはモジュールは、例え
ば、１つ以上のＥＰＲＯＭ、ＥＥＰＲＯＭ、特定用途向け集積回路（ＡＳＩＣ）、及び／または任意の他のハードウェアもしくはファームウェア要素にハードコードされてもよい。したがって、コントローラ２０２〜２１０の各々は、任意の所望の様式で制御ストラテジまたは制御ルーチン／モジュールを実装するように構成することができる。
【００４２】
コントローラ２０２〜２１０の各々は、一般的に機能ブロックと呼ばれるものを使用して制御ストラテジを実装し、各機能ブロックは、全体的な制御ルーチンのオブジェクトまたは他の部分（例えば、サブルーチン）であり、（「リンク」と呼ばれる通信を介して）他の機能ブロックと共に動作して、プロセス制御環境２００内でプロセス制御ループを実装する。制御ベースの機能ブロックは、典型的には、（１）送信器、センサ、もしくは他のプロセスパラメータ測定デバイスに関連付けられたもの等の入力機能、（２）ＰＩＤ、ファジー論理等の制御を行う制御ルーチンに関連付けられたもの等の制御機能、または（３）バルブもしくはコンベヤモータ等の一部のデバイスのオペレーションを制御する出力機能のうちの１つを実行して、プロセス制御環境２００内の何らかの物理的機能を実行する。無論、ハイブリッド及び他の種類の機能ブロックが存在する。機能ブロックはコントローラ２０２〜２１０内に記憶され、それらによって実行されてもよく、これは典型的には、これらの機能ブロックが標準的な４〜２０ｍＡデバイス及びある種のスマートフィールドデバイス（例えば、ＨＡＲＴ（登録商標）デバイス）用に使用されるかあるいはそれらと関連付けられるときに成り立ち、あるいは機能ブロックは、フィールドデバイスそのものの内部に記憶され、それによって実装されてもよく、これはＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓデバイスの場合に成り立ち得る。コントローラ２０２〜２１０の各々における１つ以上の制御モジュールは、１つ以上の機能ブロックを実行することによって行われる１つ以上の制御ループを実装し得る。
【００４３】
プロセス制御環境２００のセキュアでない部分には、バックボーン２３２に通信可能に接続されている１つ以上のオペレータワークステーション２４０がある。オペレータワークステーション（複数可）２４０を介して、ヒューマンオペレータは、プロセス制御環境２００のランタイムオペレーションを監視し、同様に診断、補正、維持、及び／または必要とされ得る他の作用を取ることができる。オペレータワークステーション２４０のうちの少なくとも一部は、プロセス制御環境２００内またはその付近の様々な物理的に保護されたエリア、例えば、プラントのバックエンド環境内に位置し得、いくつかの状況では、オペレータワークステーション２４０のうちの少なくとも一部は、遠隔に位置し得る（しかしながら、それでもなおプロセス制御環境２００と通信可能な接続をもたらす）。オペレータワークステーション（複数可）２４０は、有線または無線のコンピューティングデバイスであってもよい。オペレータワークステーション（複数可）２４０は、（例えば、インターネットに対する）外部接続性を有し得、それに伴って、ネットワーク侵入／攻撃に対して脆弱であり得る。
【００４４】
プロセス制御環境２００を、１つ以上の構成アプリケーション２４２Ａと１つ以上の構成データベース２４２Ｂとを含み、それらの各々はまた、バックボーン２３２に通信可能に接続されているものとして、図５においてさらに例証する。構成アプリケーション（複数可）２４２Ａの様々なインスタンスは、ユーザがプロセス制御モジュールを作成または変更すること、ならびにこれらのモジュールを、バックボーン２３２を介して、コントローラ２０２〜２１０及び／または他のプロセスコントローラにダウンロードすることを可能にし、同様に、オペレータインターフェースであって、それを介してオペレータがプロセス制御ルーチン内のデータを閲覧し、データ設定を変更することができる、オペレータインターフェースをユーザが作成または変更することを可能にするように１つ以上のコンピューティングデバイス（図５に示さず）で実行し得る。構成データベース（複数可）２４２Ｂは、構成されたモジュール及び／またはオペレータインターフェースを記憶する。概して、構成アプリケーション（複数可）２４２Ａ及び構成データベース（複数可）２４
２Ｂは、集中化されていてもよく、（構成アプリケーション２４２Ａの複数のインスタンスはプロセス制御環境２００内で同時に実行し得るが）プロセス制御環境２００に対して一体的な論理的外観を有し得、構成データベース（複数可）２４２Ｂは、単一の物理データストレージデバイス内または複数のデータストレージデバイスにわたって記憶されてもよい。構成アプリケーション（複数可）２４２Ａ、構成データベース（複数可）２４２Ｂ、及びそれらに対するユーザインターフェース（図５に示さず）は、制御モジュール及び／または表示モジュールを作成／構成するための構成または開発システム２４２を集合的に形成する。必ずしもそうではないが、典型的には、構成システム２４２のユーザインターフェースは、プロセス制御環境２００がリアルタイムで動作しているかどうかに関わらず、構成システム２４２のユーザインターフェースが代わりに構成及び開発技術者によって利用されている、及びオペレータワークステーション（複数可）２４０がプロセス制御環境２００のリアルタイム（または「ランライム」）オペレーション中にオペレータによって利用されている点で、オペレータワークステーション２４０と異なる。オペレータワークステーション（複数可）２４０同様、構成システム２４２は、ネットワーク侵入／攻撃に供されることがある。
【００４５】
例示的なプロセス制御環境２００はまた、ＩＥＥＥ８０２．１１準拠の無線ローカルエリアネットワークプロトコル、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、もしくは他のＩＴＵ−Ｒ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ  Ｒａｄｉｏｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｅｃｔｏｒ）互換プロトコル等の移動通信プロトコル、近距離無線通信（ＮＦＣ）もしくはＢｌｕｅｔｏｏｔｈ等の短波長無線通信、及び／または他の無線通信プロトコル等の他の無線プロトコルを使用して他のデバイスと通信する１つ以上の無線アクセスポイント２４４を含む。典型的には、無線アクセスポイント（複数可）２４４の各々は、手持ち型または他の携帯用コンピューティングデバイス（例えば、ラップトップ、スマートフォン等）が、それぞれの無線プロセス制御通信ネットワーク上で通信することを可能にする。例えば、携帯用コンピューティングデバイスは、プロセス環境２００内のオペレータによって活用される、移動式ワークステーションまたは診断試験設備（例えば、オペレータワークステーション２４０のうちの１つのインスタンス）であってもよい。
【００４６】
上述のように、図３及び４のセキュアなサブシステム１２０及び１４０の一方または両方は、プロセス制御環境２００に組み込まれ得る。例えば、図３のＩＰＤ１２４は、図５のＩＰＤ２２０であり得、図３のコントローラ１２２は、図５のコントローラ２０２であり得る。代替的にまたは加えて、図４のＩＰＤ１４６は、図５のＩＰＤ２２２であり得、図４のコントローラ１４２は、図５のコントローラ２０４であり得、図４のロジックソルバ１４４は、コントローラ２０４に通信可能に接続されているロジックソルバ（図５に示さず）であり得る。
【００４７】
図５はプロセス制御環境２００の単一の可能な実施形態のみを例証することに留意されたい。他の実施形態では、例えば、プロセス制御環境２００は、より多くのまたはより少ないコントローラ、ＩＰＤ、及び／もしくはスイッチデバイス（ならびに／または図５に示されるものとは異なる様式もしくは異なる位置で接続されているコントローラ、ＩＰＤ、及び／またはスイッチデバイス）を含み得、ならびに／または図５に示されていないか、もしくは上述される様々な異なるタイプのデバイスを含み得る。単一のより具体的な例を提供するために、プロセス制御環境２００は、３つのＩＰＤ２２０、２２２、２２４ではなく、スイッチデバイス２３０のバックボーン２３２側に位置する単一のＩＰＤのみを含み得る。
【００４８】
図６は、プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの
不正アクセスのリスクを減少させるための例示的な方法３００を示すフロー図である。方法３００は、例えば、図３のＩＰＤ１２４、図４のＩＰＤ１４６、または図５のＩＰＤ２２０、２２２、２２４のうちの１つなどのＩＰＤによって実装されてもよい。より具体的な例として、方法３００は、図３のファイアウォール１３０によって実装されてもよい。
【００４９】
方法３００のブロック３０２において、メッセージヘッダとメッセージペイロードとを含むメッセージが通信ネットワークを介して受信される。メッセージは、例えば、その宛先として組み込みノードを有するＥｔｈｅｒｎｅｔフレームであり得るか、または当該Ｅｔｈｅｒｎｅｔフレームを含み得る。いくつかの実施形態及び／またはシナリオでは、メッセージペイロードが暗号化される一方、メッセージヘッダは暗号化されない。他の実施形態及び／またはシナリオでは、メッセージペイロードもメッセージヘッダも暗号化されない。
【００５０】
ブロック３０４において、少なくともメッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって、受信メッセージが、組み込みノードの１つ以上の保護された機能にアクセスするように構成されたロック解除メッセージであることが決定される。例えば、ブロック３０４は、メッセージヘッダ内のビットシーケンスを、ロック解除メッセージに対応することが前に知られているビットシーケンスと比較することを含んでもよい。組み込みノードは、コントローラ、ロジックソルバ、または１つ以上の保護された機能を支持するか、または当該機能に関連付けられている、プロセス制御システムにおける任意の他の好適なタイプのノードであってもよい。メッセージヘッダ内のビットシーケンスは、メッセージのＥｔｈｅｒｔｙｐｅフィールド等の特定のヘッダフィールドに対応し得る。つまり、ビットシーケンスは、Ｅｔｈｅｒｔｙｐｅ（または他のヘッダ）フィールド（またはその一部）であるように標準／プロトコルによって定義される、メッセージヘッダ内の位置にあってもよい。
【００５１】
ブロック３０６において、手動制御機構（例えば、ボタン、トグルスイッチ、ダイヤル、または組み合わせロックの回転ディスク等）がヒューマンオペレータによって特定の状態（例えば、現在押下されている、現在特定のコード／組み合わせ等に設定されている、またはいくつかの実装形態では、最近押下された等）に配置されていたかどうかが決定される。ブロック３０６における決定は、任意の好適なセンサ（複数可）、アナログデジタル変換回路等を使用して行われてもよい。
【００５２】
制御機構が特定の状態に配置されていない場合、フローは、メッセージが組み込みノードに転送されることなく（及びいくつかの実装形態では、任意の他のノードまたはデバイスに転送されることなく）破棄されるブロック３０８に進む。しかしながら、制御機構が特定の状態に配置されている場合、フローは、組み込みノードをロック解除された状態に進入させるブロック３１０に進む。例えば、ブロック３１０は、ロック解除メッセージを組み込みノードに転送すること、またはロック解除メッセージをコントローラもしくは組み込みノードの他の親に転送すること等を含んでもよい。「ロック解除された状態」は、組み込みノードがソフトウェアアップグレードを許可する状態、診断モードに進入する状態、デコミッショニングされ得る状態、及びライブ制御ルーチンへのある特定の入力または変更を可能にする状態であり得る。
【００５３】
組み込みノードがコントローラの子ノード（例えば、ロジックソルバ）であるいくつかの実施形態では、ブロック３１０は、コントローラにおいて、子ノードによって認識される値を含有するようにメッセージヘッダ内のビットシーケンスを修正することと、メッセージヘッダ内のビットシーケンスを修正した後に、メッセージをコントローラから子ノードに転送することとを含む。例えば、ビットシーケンスがＥｔｈｅｒｔｙｐｅフィールドのために従来どおり確保された位置にある場合、コントローラは、Ｅｔｈｅｒｔｙｐｅフ
ィールドが従来のＥｔｈｅｒｔｙｐｅ値を含有するように（及びいくつかの実装例では、Ｅｔｈｅｒｔｙｐｅフィールドが、ＩＰｖ４、ＴＲＩＬＬ等の使用されている通信プロトコルと一致するＥｔｈｅｒｔｙｐｅ値を含有するように）ビットシーケンスを修正し得る。
【００５４】
いくつかの実施形態では、メッセージペイロードが暗号化されている場合、コントローラはまた（及びメッセージを子ノードに転送する前に）、メッセージペイロードを復号化し、復号化されたメッセージペイロード内の１つ以上のビットの別のシーケンスを、ロック解除メッセージインジケータとして子ノードによって認識される値に修正する。したがって、例えば、コントローラは、メッセージに従来のロック解除インジケータを含ませることができる。
【００５５】
図７は、プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための別の例示的な方法４００を示すフロー図である。方法４００は、例えば、図４のセキュアなサブシステム１４０のＩＰＤ１４６、コントローラ１４２、及びロジックソルバ１４４等の、プロセス制御システムのセキュアなサブシステムの様々な構成要素によって実装されてもよい。より具体的な例として、ブロック４０２、４０４、４０６、４０８、及び４１０は、図４のＩＰＤ１４６等の侵入保護デバイスによって実装されてもよく、ブロック４１２及び４１４は、図４のコントローラ１４２等のコントローラによって実装されてもよく、ならびに／またはブロック４１６及び４１８は、図４のロジックソルバ１４４等のロジックソルバによって実装されてもよい。
【００５６】
方法４００のブロック４０２において、メッセージヘッダとメッセージペイロードとを含むメッセージが通信ネットワークを介して受信される。ブロック４０２は、方法３００のブロック３０２と同様であってもよい。例えば、メッセージヘッダが暗号化されていなくてもよく、メッセージペイロードが暗号化されていてもよい等。
【００５７】
ブロック４０４において、受信メッセージがロック解除メッセージであることが、少なくともメッセージヘッダ内の１つ以上のビットのシーケンスを分析することによって決定される。ブロック４０４は、方法３００のブロック３０４と同様であってもよい。例えば、ビットシーケンスがメッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内に位置決めされてもよい等。
【００５８】
ブロック４０６において、手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかが決定される。ブロック４０６は、方法３００のブロック３０６と同様であり得る。制御機構が特定の状態に配置されていない場合、フローは、メッセージが組み込みノードに転送されることなく（及びいくつかの実装形態では、任意の他のノードまたはデバイスに転送されることなく）破棄されるブロック４０８に進む。しかしながら、制御機構が特定の状態に配置されている場合、フローは、メッセージがコントローラに転送されるブロック４１０に進む。
【００５９】
ブロック４１２において、メッセージヘッダ内のビットシーケンスは、コントローラにおいて、コントローラの子ノードであるロジックソルバ（例えば、レガシーロジックソルバ、または別様にメッセージヘッダ内のロック解除インジケータを解釈するようにプログラムされていないロジックソルバ）によって認識される値を含有するように修正される。例えば、ビットシーケンスがＥｔｈｅｒｔｙｐｅフィールド内に含まれた場合、Ｅｔｈｅｒｔｙｐｅフィールドは、プロセス制御システムにおいて使用されている通信標準／プロトコルによって定義される値（及び少なくともいくつかの実施形態では、ＩＰｖ４、ＴＲＩＬＬ等の使用されているプロトコルと一致する値）に設定されてもよい。
【００６０】
ブロック４１４において、メッセージは、メッセージヘッダ内に修正されたビットシーケンスを伴って、コントローラからロジックソルバに転送される。ブロック４１６では、ロジックソルバにおいて、メッセージがロック解除メッセージであることが、少なくともメッセージペイロード内の１つ以上のビットのシーケンスを分析することによって決定される。いくつかの実施形態では、メッセージペイロード内の分析されたビットシーケンスは、従来のロック解除インジケータであり、それに伴って、レガシーロジックソルバ、または別様にメッセージヘッダ内のロック解除インジケータを解釈するようにプログラムされていないロジックソルバによって認識可能である。メッセージヘッダ内の分析されたビットシーケンスは、ブロック４０２で受信した元のメッセージ内に存在していたかもしれない（すなわち、メッセージが少なくとも２つのロック解除インジケータを元来含有した場合）か、またはＩＰＤもしくはコントローラによって（例えば、メッセージペイロードを復号化した後にコントローラによって）追加されていたかもしれない。
【００６１】
ブロック４１８において、ロジックソルバの少なくとも１つの保護された機能がロック解除される。例えば、ロジックソルバは、ソフトウェアアップグレードを許可し、診断モードに進入し、デコミッショニングを可能にし、ならびにライブ制御ルーチンへのある特定の入力または変更を可能にすること等ができる。
【００６２】
本開示に説明された技術の実施形態は、以下の態様の任意の番号を、単独または組み合わせのいずれかにおいて含み得る。
【００６３】
態様１．プロセス制御システムのセキュアなサブシステムにおける組み込みノードへの不正アクセスのリスクを減少させるための方法であって、方法が、通信ネットワークを介してメッセージを受信することであって、メッセージがメッセージヘッダとメッセージペイロードとを含む、受信することと、メッセージが組み込みノードの１つ以上の保護された機能にアクセスするように構成されたロック解除メッセージであることを決定することであって、メッセージがロック解除メッセージであることを決定することが、メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することを含む、決定することと、手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定することと、（ｉ）メッセージがロック解除メッセージであるとの決定、及び（ｉｉ）手動制御機構が特定の状態に配置されているとの決定に基づき、組み込みノードをロック解除された状態に進入させるかまたはさせないことと、を含む、方法。
【００６４】
態様２．組み込みノードをロック解除された状態に進入させるかまたはさせないことが、（ｉ）メッセージがロック解除メッセージであり、かつ（ｉｉ）手動制御機構が特定の状態に配置されているとの決定に応じて、組み込みノードをロック解除された状態に進入させること、または（ｉ）メッセージがロック解除メッセージであり、かつ（ｉｉ）手動制御機構が特定の状態に配置されていないとの決定に応じて、組み込みノードをロック解除された状態に進入させないことのいずれかを含む、態様１に記載の方法。
【００６５】
態様３．組み込みノードをロック解除された状態に進入させるかまたはさせないことが、（Ａ）（ｉ）メッセージがロック解除メッセージであり、かつ（ｉｉ）手動制御機構が特定の状態に配置されているとの決定に応じて、ロック解除メッセージを組み込みノードもしくは組み込みノードの親であるコントローラのいずれかに転送すること、または（Ｂ）（ｉ）メッセージがロック解除メッセージであり、かつ（ｉｉ）手動制御機構が特定の状態に配置されていないとの決定に応じて、ロック解除メッセージを転送することなく、ロック解除メッセージをドロップすることのいずれかを含む、態様１または２に記載の方法。
【００６６】
態様４．通信ネットワークを介してメッセージを受信することが、通信ネットワークを
介して暗号化されたメッセージを受信することを含み、暗号化されたメッセージは、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含む、態様１〜３のいずれか１つに記載の方法。
【００６７】
態様５．メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、メッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内の１つ以上のビットのビットシーケンスを分析することを含む、態様１〜４のいずれか１つに記載の方法。
【００６８】
態様６．組み込みノードがコントローラである、態様１〜５のいずれか１つに記載の方法。
【００６９】
態様７．組み込みノードがコントローラの子ノードであり、組み込みノードをロック解除された状態に進入させるかまたはさせないことが、（ｉ）メッセージがロック解除メッセージであり、かつ（ｉｉ）手動制御機構が特定の状態に配置されているとの決定に応じて、子ノードをロック解除された状態に進入させることを含み、子ノードをロック解除された状態に進入させることが、（Ａ）コントローラにおいて、子ノードによって認識される値を含有するようにメッセージヘッダ内のビットシーケンスを修正することと、（Ｂ）メッセージヘッダ内のビットシーケンスを修正した後に、メッセージをコントローラから子ノードに転送することとを含む、態様１〜５のいずれか１つに記載の方法。
【００７０】
態様８．通信ネットワークを介してメッセージを受信することが、通信ネットワークを介して暗号化されたメッセージを受信することを含み、暗号化されたメッセージは、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含み、子ノードをロック解除された状態に進入させることが、メッセージをコントローラから子ノードに転送する前に、（Ａ）暗号化されたメッセージペイロードを復号化することと、（Ｂ）復号化されたメッセージペイロード内の１つ以上のビットのビットシーケンスを、ロック解除メッセージインジケータとして子ノードによって認識される値に修正することとをさらに含む、態様７のいずれか１つに記載の方法。
【００７１】
態様９．メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、メッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内のビットシーケンスを分析することを含み、子ノードによって認識される値を含有するようにメッセージヘッダ内のビットシーケンスを修正することが、子ノードによって認識されるＥｔｈｅｒｔｙｐｅ情報を含有するようにＥｔｈｅｒｔｙｐｅフィールドを修正することを含む、態様７または８に記載の方法。
【００７２】
態様１０．子ノードがロジックソルバである、態様７〜９のいずれか１つに記載の方法。
【００７３】
態様１１．メッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することが、メッセージヘッダ内のビットシーケンスを、ロック解除メッセージに対応することが知られているビットシーケンスと比較することを含む、態様１〜１０のいずれか１つに記載の方法。
【００７４】
態様１２．手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定することが、物理ボタンが現在、ヒューマンオペレータによって押圧されているかどうかを決定することを含む、態様１〜１１のいずれか１つに記載の方法。
【００７５】
態様１３．侵入保護デバイスであって、手動制御機構と、１つ以上のプロセッサとを備え、１つ以上のプロセッサが、（Ａ）通信ネットワークを介して、メッセージヘッダ及び
メッセージペイロードを含むメッセージを受信し、（Ｂ）メッセージが、プロセス制御システムの組み込みノードの１つ以上の保護された機能にアクセスするように構成されたロック解除メッセージであるかどうかを、少なくともメッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって決定し、（Ｃ）手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定し、（Ｄ）メッセージがロック解除メッセージであり、かつ手動制御機構が特定の状態に配置されていると決定すると、組み込みノードをロック解除された状態に進入させるように構成されている、侵入保護デバイス。
【００７６】
態様１４．メッセージヘッダ内のビットシーケンスが、メッセージヘッダのＥｔｈｅｒｔｙｐｅフィールド内のビットシーケンスである、態様１３に記載の侵入保護デバイス。
【００７７】
態様１５．手動制御機構が物理ボタンである、態様１３または１４に記載の侵入保護デバイス。
【００７８】
態様１６．１つ以上のプロセッサが、少なくともロック解除メッセージを、組み込みノードまたは組み込みノードの親であるコントローラのいずれかに転送することによって、組み込みノードをロック解除された状態に進入させるように構成されている、態様１３〜１５のいずれか１つに記載の侵入保護デバイス。
【００７９】
態様１７．プロセス制御システムのセキュアなサブシステムであって、セキュアなサブシステムは、１つ以上のプロセス制御モジュールを実装するように構成された１つ以上のコントローラプロセッサを含むコントローラと、複数の機能を支持するように構成された１つ以上のロジックソルバプロセッサを含むロジックソルバであって、複数の機能が１つ以上の保護された機能を含み、ロジックソルバがコントローラの子ノードとしてコントローラに連結されている、ロジックソルバと、侵入保護デバイスであって、手動制御機構及び１つ以上の侵入保護プロセッサを含み、侵入保護プロセッサが、（Ａ）通信ネットワークを介して、メッセージヘッダ及びメッセージペイロードを含むメッセージを受信し、（Ｂ）メッセージがロック解除メッセージであるかどうかを、少なくともメッセージヘッダ内の１つ以上のビットのビットシーケンスを分析することによって決定し、（Ｃ）手動制御機構がヒューマンオペレータによって特定の状態に配置されているかどうかを決定し、（Ｄ）メッセージがロック解除メッセージであり、かつ手動制御機構が特定の状態に配置されていると決定すると、メッセージをコントローラに転送するように構成されている、侵入保護デバイスと、を備え、１つ以上のコントローラプロセッサは、メッセージがコントローラに転送されると、（Ａ）ロジックソルバによって認識される値を含有するようにメッセージのメッセージヘッダ内のビットシーケンスを修正し、（Ｂ）メッセージヘッダ内のビットシーケンスを修正した後に、メッセージをロジックソルバに転送するようにさらに構成され、１つ以上のロジックソルバプロセッサは、メッセージがロジックソルバに転送されると、（Ａ）メッセージがロック解除メッセージであるかどうかを、少なくともメッセージペイロード内の１つ以上のビットのビットシーケンスを分析することによって決定し、（Ｂ）メッセージがロック解除メッセージであると決定すると、１つ以上の保護された機能のうちの少なくとも１つをロック解除するように構成されている、セキュアなサブシステム。
【００８０】
態様１８．通信ネットワークを介して受信されたメッセージが、暗号化されていないメッセージヘッダと暗号化されたメッセージペイロードとを含む暗号化されたメッセージである、態様１７に記載のセキュアなサブシステム。
【００８１】
態様１９．１つ以上のコントローラプロセッサは、メッセージがコントローラに転送されると、暗号化されたメッセージペイロードを復号化し、ロック解除メッセージインジケ
ータとしてロジックソルバによって認識される値を含有するように復号化されたメッセージペイロード内のビットシーケンスを修正するようにさらに構成されている、態様１７または１８に記載のセキュアなサブシステム。
【００８２】
態様２０．１つ以上のコントローラプロセッサが、暗号化されたメッセージの任意の部分を最初に復号化することなく、暗号化されたメッセージをロジックソルバに転送するように構成されている、態様１７または１８に記載のセキュアなプロセス制御サブシステム。
【００８３】
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、及びエンジンはいずれも、コンピュータもしくはプロセッサのＲＡＭもしくはＲＯＭ等における磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリストレージデバイス、または他の記憶媒体等の、任意の有形の非一時的コンピュータ可読メモリに記録され得る。本明細書に開示される例示的システムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェア及び／またはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、及びファームウェア構成要素は、ハードウェア内で排他的に、ソフトウェア内で排他的に、またはハードウェア及びソフトウェアの任意の組み合わせ内で具現化され得ることが企図される。したがって、本明細書に記載される例示的システムは、１つ以上のコンピュータデバイスのプロセッサにおいて実行されるソフトウェアに実装されるように記載されているが、当業者ならば、提供される例が、そのようなシステムを実装するための唯一の方法であるわけではないことを容易に理解するであろう。
【００８４】
このように、本発明が特定の例を参照して説明されてきたが、これは、単に例解的であることを意図するものであり、本発明を限定することを意図するものではなく、当業者にとって、変更、追加、または削除が、本発明の概念及び範囲から逸脱することなく、開示された実施形態になされ得ることが明らかであろう。
【図１】
2019049968.tif 000003
【図２】
2019049968.tif 000004
【図３】
2019049968.tif 000005
【図４】
2019049968.tif 000006
【図５】
2019049968.tif 000007
【図６】
2019049968.tif 000008
【図７】
2019049968.tif 000009
【外国語明細書】
2019049968000001.pdf