JP2021051741A - プロセス制御システムにおけるhart通信のためのホワイトリスト - Google Patents
プロセス制御システムにおけるhart通信のためのホワイトリスト Download PDFInfo
- Publication number
- JP2021051741A JP2021051741A JP2020157088A JP2020157088A JP2021051741A JP 2021051741 A JP2021051741 A JP 2021051741A JP 2020157088 A JP2020157088 A JP 2020157088A JP 2020157088 A JP2020157088 A JP 2020157088A JP 2021051741 A JP2021051741 A JP 2021051741A
- Authority
- JP
- Japan
- Prior art keywords
- process control
- message
- whitelist
- configuration
- routine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 176
- 238000012369 In process control Methods 0.000 title 1
- 238000010965 in-process control Methods 0.000 title 1
- 238000000034 method Methods 0.000 claims abstract description 234
- 230000008569 process Effects 0.000 claims abstract description 171
- 230000006870 function Effects 0.000 claims abstract description 25
- 238000004886 process control Methods 0.000 claims description 155
- 238000012545 processing Methods 0.000 claims description 22
- 238000012423 maintenance Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims 4
- 238000000605 extraction Methods 0.000 claims 1
- 230000003863 physical function Effects 0.000 claims 1
- 238000003745 diagnosis Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 13
- 230000009471 action Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 230000000903 blocking effect Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 101150108455 Sil1 gene Proteins 0.000 description 3
- 101150017313 sls1 gene Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 231100000481 chemical toxicant Toxicity 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 239000003440 toxic substance Substances 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0209—Architectural arrangements, e.g. perimeter networks or demilitarized zones
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25187—Transmission of signals, medium, ultrasonic, radio
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
【課題】プロセスプラント内のフィールドデバイスの診断および他の高レベルの機能を有効にする安全性の高いシステムを提供する。【解決手段】プロセスプラントにおいて使用するサイバーセキュリティシステムは、プロセスコントローラと安全コントローラにおいてデバイス固有のHART読み取りコマンドと一般的な慣行のHART読み取りコマンドのホワイトリストを提供して、非常にセキュアでありながら、HARTデバイスにおいて提供される高度な機能の実装を依然として可能にする通信をプロセスプラントで実行する。【選択図】図3A
Description
関連出願
本出願は、2019年9月23日に出願された米国仮特許出願第62/904,229号、発明の名称「Whitelisting for HART Communications in a Process Control System」の利益を主張し、その各々の全体が参照により本明細書に明示的に組み込まれる。
本出願は、2019年9月23日に出願された米国仮特許出願第62/904,229号、発明の名称「Whitelisting for HART Communications in a Process Control System」の利益を主張し、その各々の全体が参照により本明細書に明示的に組み込まれる。
本発明は、一般に、プロセスプラントにおいて使用されるプロセス制御システムおよび安全システムに関し、より具体的には、組み合わされたプロセス制御および安全システムにおいてサイバーセキュリティを実行することに関する。
化学物質、石油、または他のプロセスにおいて使用されるようなプロセス制御システムは、典型的には、アナログ、デジタル、またはアナログ/デジタル混在バスを介して、少なくとも1つのホストまたはオペレータワークステーションに、および1つ以上のフィールドデバイスに通信可能に連結された1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、および送信機(例えば、温度、圧力、および流量センサ)などであり得るフィールドデバイスは、バルブの開閉およびプロセスパラメータの測定などの機能をプロセスプラント内で実行する。プロセスコントローラは、フィールドデバイスによって生成されたプロセス測定値および/またはフィールドデバイスに関する他の情報を示す信号を受信し、この情報を使用して制御ルーチンを実装し、次に、プロセスの動作を制御するためにバスを通じてフィールドデバイスに送信される制御信号を生成する。フィールドデバイスおよびコントローラからの情報は、典型的には、オペレータワークステーションによって実行される1つ以上のアプリケーションにとって利用可能になっており、それにより、オペレータは、プロセスの構成、プロセスの現状の閲覧、プロセスの動作の修正など、プロセスに関する所望の機能を実行できるようになる。
一部のプロセスシステムでは、プロセスプラント内の重大な安全関連の問題を検出し、有毒化学物質の流出、爆発など、プラントにおいて重大な危険を生じるかまたはもたらし得る問題が発生したときには、自動的にバルブを閉じること、デバイスから電源を切ること、プラント内でフローを切り替えることなどを行うために、別個の安全システムが提供されることがある。これらの安全システムは、典型的には、プロセス制御コントローラとは別に、プロセスプラント内に配置された個別のバスまたは通信ラインを介して安全フィールドデバイスに接続されたコントローラを有する1つ以上の個別の入力/出力(I/O)デバイスを含む。安全コントローラは、安全フィールドデバイスを用いて、重大なイベントに関連するプロセス状況、例えば、いくつかの安全スイッチまたは遮断バルブの位置、プロセス中のオーバフローまたはアンダフロー、重要な発電または制御デバイスの動作、障害検出デバイスの動作などを検出し、それによって、プロセスプラント内の「イベント」を検出する。イベントが検出されると、安全コントローラは、バルブを閉じる、デバイスをオフにする、プラントのセクションから電源を切るなど、イベントの悪影響を制限するための何らかのアクションを実行する。
過去には、同じユーザインターフェース上で同じプラント中のプロセス制御および安全システムからのデータを統合して、それにより、統合された制御および安全システム(ICSS)を通じて同じ場所においてこの異なるデータの表示および操作を提供する試みがあった。ICSSにおいてフィールドデバイスから情報を取得するための最も一般的な方法のうちの1つは、ハイウェイアドレス可能リモート送信機(HART(登録商標))通信プロトコルであり、ICSSを介してフィールドデバイスに情報を取得させるための最も一般的な方法のうちの1つは、HARTコマンドのパススルー通信の使用を介するものである。
HART通信プロトコルコマンドは、特定のグループに分類される。具体的には、HART通信プロトコルは、プロトコルを使用するすべてのデバイスが認識およびサポートする必要があるユニバーサルコマンド、すべてではないが一部のHART通信デバイスによって認識およびサポートされる一般的な慣行のコマンド、および各フィールドデバイスに固有の機能を表すデバイス固有のコマンドを定義する。HARTコマンドの大部分は、さらに、読み取りコマンドまたは書き込みコマンドとして分類できる。一般に、読み取りコマンドは、フィールドデバイスから情報を読み取るが、書き込みコマンドは、フィールドデバイスの内部設定または物理状態を変更する。デバイス固有のコマンドは、デバイス記述と呼ばれる、デバイスの操作手順の正式な記述によって定義され、有用となる。デバイス記述は通常、デバイスの製造元によって作成および提供され、一般的な慣行のコマンド、およびいずれかのフィールドデバイスに固有であるデバイス固有のコマンドを発見するために使用することができる。
デバイス記述は、典型的には、フィールドデバイスのインストール中にプロセスプラントの資産管理システム(ASM)または構成システムによって生成または収集される。システムは、「コマンドゼロ」を発行して、データベースまたは他のデバイス記述リポジトリからこのデバイス記述を検索する場合がある。さらに、構成データベースに変更されていない形式で記憶される可能性のあるデバイス記述は、最初に解析されてから記憶される場合がある。例えば、デバイス記述は、デバイス変数、デバイスコマンドおよびデバイスメニューについて解析される場合があり、解析された各セグメントは個別に記憶される場合がある。デバイス記述とそのサブフィールドは、典型的には、プロセスプラント内の他のデバイスが読み取るためにアクセスできる。
時々、HART通信プロトコルを実装するICSSでは、より高いレベルのセキュリティが必要になる。この目的のために、安全論理ソルバとコントローラは、典型的には、より高いレベルのセキュリティを防止または有効にするための何らかのタイプのハードウェアキーを有し、場合によっては、このより高いレベルのセキュリティを使用して、安全論理ソルバおよびコントローラに接続されているデバイスにこれらのコマンドを転送する代わりに、特定のHARTコマンドをブロックする。高いICSSセキュリティの方法には、安全システムフィールドデバイスに対して、HARTコマンドなどのすべてのコマンドをブロックする方法がある。ただし、このアプローチは柔軟性がないため、危険な性質を持たないコマンドを転送し続けることはできない。高いICSSセキュリティのさらなる他の方法には、すべての読み取りユニバーサルコマンドを許可する方法がある。すべてのコマンドをブロックするのとは異なり、この方法では、危険ではない特定のメッセージ(具体的には、読み取りユニバーサルコマンド)を転送し続けることができる。一般に、読み取りコマンドは、プロセスプラント内のデバイスの状態を本質的に変更しないため、安全であると見なされる。代わりに、これらの読み取りコマンドは、データフィールドの現在の値を要求するだけである。対照的に、書き込みコマンドは、悪意を持って使用され、プロセスプラントとプラント内の個人を危険にさらす可能性がある。読み取り専用ユニバーサルコマンドを除くすべてのHARTコマンドをブロックすることによって安全システム内のセキュリティを提供するこの本方法は、HARTプロトコルの読み取り専用ユニバーサルコマンドの安全な性質を利用して、読み取りユニバーサルを許可しながら、潜在的に危険なメッセージの大まかなブロックを提供する。ただし、この方法は、ユニバーサルコマンドの制限されたセットの外にあるすべての安全な読み取りコマンドをブロックおよび/またはドロップする。換言すると、一般的に安全と見なされている、すべての一般的な慣行の読み取りコマンドとすべてのデバイスタイプ読み取りコマンドは、この方法によって依然としてブロックされる。その結果、上記のブロック方法のいずれかなど、高レベルのセキュリティを採用する制御および安全システムは、HARTプロトコルのユニバーサルコマンドによって定義されていないデバイス機能によって提供されるデータの読み取りを可能にしないことによって、安全システムにおいて使用されるHARTデバイスの多数の診断および他の補助機能を利用することを、不可能ではないにしても困難にし、したがって、進行中のプロセスにおけるこれらの方法の効果を大幅に低下させる。したがって、既存の方法には、適切なレベルのセキュリティを提供しながら、広範囲の高度な診断およびデバイス情報を提供する必要性に対応するためのきめ細かい特異性が欠けている。
プロセスプラントは、ユーザが、安全論理ソルバまたはプロセスコントローラをセキュアに構成して、適切なレベルのセキュリティを提供すると同時に、安全システムデバイスと、構成、資産管理などのアプリケーションなど、1つ以上のスーパバイザまたはサポートアプリケーションとの間で大量の情報を送信する必要性にも対応することを可能にする、ホワイトリスト構成アプリケーションを含む。一実施形態では、安全論理ソルバが特定のレベルのセキュリティに設定される(例えば、ハードウェアキーが禁止位置に設定され、より高いまたは最高レベルのセキュリティがもたらされる)と、安全論理ソルバの通信インターフェースは、デバイスに設定されているホワイトリスト実行アプリケーションを実行することによってメッセージを受信したことに応答し得る。ホワイトリスト実行アプリケーションは、現在のセキュリティレベルおよび構成情報に部分的に基づいて、メモリに記憶されている複数のホワイトリストのうちの1つにアクセスし得る。次に、ホワイトリスト実行アプリケーションは、メッセージのコマンドタイプを、選択されたホワイトリスト内のコマンドタイプと比較し得る。一致するものがない場合、アプリケーションは、メッセージをブロックする場合がある。これは、パススルー通信スキーマなどにおいて、安全システムフィールドデバイスにメッセージを転送しないことを含む場合があり、また、プロセスプラントのオペレータまたは他のユーザへの通知を含む場合がある。ホワイトリストに一致するものがある場合、アプリケーションは、標準動作を実行してよい。これは、1つ以上の論理モジュールへのアクセスと実行を含む場合があり、また、所望のデバイスにメッセージを転送することを含む場合がある。
さらに、ホワイトリスト学習アプリケーションは、プロセス制御システムおよび安全システムの両方のための自動ホワイトリスト構成を実行するためのシステムおよび方法を提供し得る。特に、ホワイトリスト学習アプリケーションは、ユーザが、1つ以上のコントローラを学習モードにすることによって、1つ以上の安全論理ソルバ(安全コントローラとしても知られる)および/またはプロセスコントローラのための1つ以上のホワイトリスト構成を構築することを可能にし得る。学習モードは、着信コマンドのコマンドタイプを抽出し、コントローラのセキュリティレベルに基づいて(および任意選択的にコマンドの宛先に基づいて)ホワイトリストを構築する。コントローラがロックモードに戻ると、ホワイトリスト学習アプリケーションは、将来のコマンド処理のために、構築したホワイトリストをホワイトリスト実行アプリケーションに記憶する。
さらに、ホワイトリスト構成アプリケーションは、インターフェースを使用して、自動ホワイトリスト構成を実行するための別のシステムと方法を提供する。特に、ホワイトリスト構成アプリケーションは、ユーザが安全論理ソルバまたはプロセスコントローラのホワイトリスト構成を構築することを可能にし、様々な程度の自動化でホワイトリスト構成を所望のゲートウェイデバイスに記憶することができる。一実施形態では、ホワイトリスト構成アプリケーションは、構成データベースと調整して、インストールされたフィールドデバイスのデバイス記述を読み取って解析し、そのフィールドデバイスのデバイス固有のおよび一般的な慣行の読み取りコマンドを判定する。次に、ホワイトリスト構成アプリケーションは、デバイス固有のおよび一般的な慣行の読み取りメッセージの一部またはすべてから構成される1つ以上のホワイトリストを生成および構成し、作成されたホワイトリストのうちの1つ以上を使用して着信メッセージを処理するように適切なプロセスコントローラまたは安全論理ソルバを構成する。
図1は、組み合わされたプロセス制御および安全システムを実装し、プラント10において高レベルのサイバーセキュリティを提供する一方で、プラント10内の様々なフィールドデバイス、特にHARTフィールドデバイスのより高いレベルの機能の使用を依然として可能にするホワイトリストコンポーネントまたはアプリケーションのセットを含むように構成されるプロセスプラント10を概して示す。概して、ホワイトリストコンポーネントまたはアプリケーションは、例えばHARTメッセージまたはコマンドなどのメッセージが、メッセージのコマンドタイプを1つ以上の記憶されたホワイトリストと比較してメッセージをサブシステムデバイスに渡すことができるかどうかを判定する形式で着信信号に対して分析を実行することによって、論理ソルバおよびプロセスコントローラなどのセキュリティゲートウェイデバイスによって受信されるように、これらのメッセージをセキュアに処理するように動作する1つ以上のホワイトリスト実行アプリケーションを含む。ホワイトリストコンポーネントは、ユーザが、ホワイトリスト実行アプリケーションとそれによって使用されるホワイトリストを、任意の数のセキュリティゲートウェイデバイスに対してセキュアにセットアップ、作成、編集、ダウンロード、および構成することを可能にする1つ以上のホワイトリスト構成アプリケーションも含む。
概して、図1の例示的なプロセスプラント10は、安全システム14(点線で示される)と統合されたプロセス制御システム12を含み、これは、概して、安全計装システム(SIS)として動作して、プロセス制御システム12によって提供される制御を監視およびオーバーライドして、プロセスプラント10の有望な安全動作を最大化する。プロセスプラント10はまた、プロセス制御オペレータ、保守要員、構成エンジニアなどのプラント要員がアクセスできる1つ以上のホストワークステーション、コンピュータまたはユーザインターフェース16(任意のタイプのパーソナルコンピュータ、ワークステーションなどであり得る)を含む。これらのワークステーションは、ホワイトリスト構成アプリケーション80をホストおよび実行する。図1に示される例では、3つのユーザインターフェース16は、共通の通信回線またはバス22を介して、2つの別個のプロセス制御/安全制御ノード18および20に、ならびに構成データベース21に接続されているものとして示されている。通信ネットワーク22は、任意の所望のバスベースまたは非バスベースのハードウェアを使用して、任意の所望のハードワイヤードまたは無線通信構造を使用して、およびイーサネットプロトコルなどの任意の所望のまたは好適な通信プロトコルを使用して実装され得る。
理解されるように、プロセスプラント10のノード18および20の各々は、異なるデバイスが接続されているバックプレーン上に提供され得るバス構造を介して一緒に接続されたプロセス制御システムデバイスおよび安全システムデバイスの両方を含む。ノード18は、プロセスコントローラ24(コントローラの冗長ペアであり得る)、ならびに1つ以上のプロセス制御システム入力/出力(I/O)デバイス28、30および32を含むものとして図1に示されている一方で、ノード20は、プロセスコントローラ26(コントローラの冗長ペアであり得る)、ならびに1つ以上のプロセス制御システムI/Oデバイス34および36を含むものとして示されている。プロセス制御システムI/Oデバイス28、30、32、34、および36の各々は、図1にフィールドデバイス40および42として示されている、プロセス制御関連のフィールドデバイスのセットに通信可能に接続されている。プロセスコントローラ24および26、I/Oデバイス28〜36、およびプロセス制御フィールドデバイス40および42は、概して、図1のプロセス制御システム12を構成する。さらに、以下でより詳細に説明するように、プロセスコントローラ24および26は、1つ以上のホワイトリスト実行アプリケーション202および/またはホワイトリスト学習アプリケーション204をメモリ75に記憶および実行して、フィールドデバイス40および42宛てのメッセージをセキュアに処理することができる。
同様に、ノード18は、1つ以上の安全システム論理ソルバ50および52を含み、一方、ノード20は、安全システム論理ソルバ54および56を含む。論理ソルバ50〜56の各々は、メモリ58に記憶された安全論理モジュールおよびホワイトリスト実行アプリケーション202を実行することができる処理ユニット57を有するI/Oデバイス(様々に安全コントローラとも称される)であり、これらのデバイスは、安全システムフィールドデバイス60および62に制御信号を提供し、ならびに/または安全システムフィールドデバイス60および62から信号を受信するように通信可能に接続されている。さらに、ノード18および20の各々は、リング型バス接続74(その一部のみが図1に示されている)を介して互いに通信可能に結合されている、少なくとも1つのメッセージ伝搬デバイス(MPD)70または72を含み得る。安全システム論理ソルバ50〜56、安全システムフィールドデバイス60および62、MPD70および72、およびバス74は、概して、図1の安全システム14を構成する。理解されるように、安全システム論理ソルバ50〜56は、前述のホワイトリスト実行アプリケーション202および/またはホワイトリスト学習アプリケーション204をメモリ58に記憶して、安全システムフィールドデバイス60および62宛てのメッセージをセキュアに処理することができる。
単なる例としてEmerson Process Managementによって販売されているDeltaV(商標)コントローラまたは他の任意の所望のタイプのプロセスコントローラであり得る、プロセスコントローラ24および26は、I/Oデバイス28、30、および32(コントローラ24用)、I/Oデバイス34および36(コントローラ26用)、ならびにフィールドデバイス40および42を使用して、(一般に制御モジュールと称されるものを使用する)プロセス制御機能を提供するようにプログラムされる。特に、コントローラ24および26の各々は、メモリ75に記憶されるかまたはそうでなければそれに関連付けられた1つ以上のプロセス制御ルーチン(制御モジュールとも称される)を実装または監視し、フィールドデバイス40および42ならびにワークステーション14と通信して、プロセス10またはプロセス10の一部を任意の所望の方法で制御する。プロセスコントローラ24および26はまた、ホワイトリスト実行アプリケーション202および/またはホワイトリスト学習アプリケーション204を記憶および実行して、メモリ75に記憶された1つ以上のプロセス制御ルーチンの実行前または実行中にプロセス制御または安全システムに送信されるメッセージに対してセキュリティチェックを実行することができる。フィールドデバイス40および42は、センサ、バルブ、送信機、ポジショナなどの任意の所望のタイプのフィールドデバイスであり得、例えば、ほんの少し例を挙げれば、(フィールドデバイス40について示されているような)HARTもしくは4〜20maプロトコル、(フィールドデバイス42について示されているような)FOUNDATION(登録商標)Fieldbusプロトコルなどの任意のフィールドバスプロトコル、またはCAN、Profibus、もしくはASインタフェースプロトコルを含む、任意の所望のオープン、専有、または他の通信またはプログラミングプロトコルに準拠し得る。同様に、I/Oデバイス28〜36は、任意の適切な通信プロトコルを使用する任意の既知のタイプのプロセス制御I/Oデバイスであり得る。
任意の所望のタイプの安全システム制御デバイスであり得る、図1の安全論理ソルバ50〜56は、プロセッサ57と、安全フィールドデバイス60および62を使用して安全システム14に関連付けられた制御機能を提供するための安全論理モジュールを記憶するメモリ58と、を含む。安全論理ソルバ50〜56のメモリ58は、安全論理モジュールの実行前または実行中にプロセッサ57上で実行されるように適合されたホワイトリスト実行アプリケーション202および/またはホワイトリスト学習アプリケーション204を記憶することができる。当然のことながら、安全フィールドデバイス60および62は、上記のものなど、任意の既知のまたは所望の通信プロトコルに準拠するかまたはそれを使用する任意の所望のタイプのフィールドデバイスであり得る。特に、フィールドデバイス60および62は、別個の専用の安全関連制御システムによって従来制御されるタイプの安全関連フィールドデバイスであり得る。図1に示されるプロセスプラント10では、安全フィールドデバイス60は、HARTまたは4〜20maプロトコルなどの専用またはポイントツーポイント通信プロトコルを使用するものとして示され、一方、安全フィールドデバイス62は、Fieldbusプロトコルなどのバス通信プロトコルを使用するものとして示されている。典型的には、安全システム論理ソルバ(コントローラ)50〜56と、安全システム14の一部として使用される安全システムフィールドデバイス60および62の両方を含む安全デバイスは、安全デバイスとして評価され、これは、典型的には、これらのデバイスが、安全デバイスとして、適切な機関によって評価される評価手順を通過する必要があることを意味する。
共通のバックプレーン76(コントローラ24、26、I/Oデバイス28〜36、安全論理ソルバ50〜56、ならびにMPD70および72を通る点線で示される)は、コントローラ24および26を、プロセス制御I/Oカード28、30および32または34および36に、ならびに安全論理ソルバ52および54または56および58に、ならびにMPD70または72に接続するために、ノード18および20の各々において使用される。コントローラ24および26はまた、バス22に通信可能に結合され、バス22のバスアービトレータとして動作して、I/Oデバイス28〜36、論理ソルバ52〜56およびMPD70および72の各々が、バス22を介したワークステーション16のいずれかと通信することを可能にする。
理解されるように、図1の安全論理ソルバ50〜56のプロセッサ57およびメモリ58、ならびにプロセスコントローラ24または26のプロセッサおよびメモリ75は、例えば、HARTコマンドのホワイトリストを記憶するホワイトリスト実行アプリケーション202およびホワイトリスト学習アプリケーション204(所望される場合)の使用および構成を可能にする。
再び図1を参照すると、プロセスプラント10は、安全コントローラ50〜56およびプロセスコントローラ24および26のホワイトリスト実行アプリケーション202を構成する能力をユーザに提供するように構成される。具体的には、ワークステーション16のうちの1つ以上は、プロセッサ77と、プロセッサ77上で実行されるように適合された任意の数のユーザインターフェース、構成、ホワイトリスト、診断および/または表示アプリケーションを記憶し得るメモリ78とを含む。ホワイトリスト構成アプリケーション80およびプロセスプラント構成アプリケーション82は、ワークステーション16のうちの1つに記憶されているものとして図1の分解図に示され、ユーザインターフェースまたはディスプレイアプリケーション85は、ワークステーション16のうちの第2のものに記憶されているものとして示されている。しかしながら、所望される場合、これらのアプリケーションは、ワークステーション16のうちの異なるものの内で、またはプロセスプラント10に関連付けられた他のコンピュータ内で記憶および実行されてもよい。一般的に述べると、ホワイトリスト構成アプリケーション80は、プロセスプラント10に含まれるホワイトリスト機能のいくつかまたはすべての要素を構成するために、構成エンジニアにホワイトリスト構成情報を提供する。ホワイトリスト構成アプリケーション80によって実行される構成アクティビティの一部として、構成エンジニアは、新しいホワイトリストを作成し、既存のホワイトリストを編集および削除し、これらの様々なホワイトリスト構成を、プロセスコントローラ24および26の適切なホワイトリスト実行アプリケーション202にダウンロードし、かつバス22ならびにコントローラ24および26を介して安全論理ソルバ50〜56ダウンロードすることができる。
一般的に述べると、プロセスプラント構成アプリケーション82は、プロセスプラント構成情報を構成エンジニアに提供して、プロセスプラント10の一部またはすべての要素を構成し、その一部の要素はホワイトリストの実行に関与し得、その構成を構成データベース21に記憶する。構成アプリケーション82によって実行される構成アクティビティの一部として、構成エンジニアは、プロセスコントローラ24および26のための制御ルーチンまたは制御モジュールを作成し得、任意のおよびすべての安全論理ソルバ50〜56のための安全論理モジュール58を作成し得、これらの様々なプロセス制御モジュールおよび安全モジュールを、プロセスコントローラ24および26のうちの適切なものにダウンロードし、かつバス22ならびにコントローラ24および26を介して、安全論理ソルバ50〜56にダウンロードすることができ、それにより、ホワイトリストの実行外部のまたは実行以外の、コマンドの処理中の安全論理ソルバ50〜56ならびにプロセスコントローラ24および26の挙動を制御する。
図2は、ホワイトリスト実行アプリケーション202を利用して、プラント10内の様々なデバイス間のメッセージのセキュアな送信を確実にすることができる、プロセスプラント10内のデバイスとモジュールとの間の階層および関係を示す例示的な表示画面83を示す。表示画面83は、例えば、図1の構成ルーチン82によって、またはプラント構成を示すオペレータインターフェースアプリケーションによって生成され得る。表示画面83に示されるように、プロセスプラント10は、プロセスプラント10内のデバイスの物理的相互接続を表示する物理ネットワークセクション84と、安全システムデバイスを表示する安全ネットワークセクション85とを含む。物理ネットワークセクション84は、コントローラ87(CTLR1と名付けられる)およびコントローラ101(CTLR2と名付けられる)を含むコントローラのセットを含む制御ネットワーク86を含む。図1のコントローラ24、26のうちの1つであり得る、コントローラ87は、コントローラ87に記憶されそれによって実行される制御モジュールである割り当てられたモジュールのセット88と、通信の目的でコントローラ87に接続されたI/Oデバイスセクション89とを含む。I/Oデバイスセクション89は、図1のバックプレーン76のうちの1つを介してコントローラ87(CTLR1)に接続されたすべてのI/Oカード90を示すために拡張されている。この例では、I/Oデバイスセクション89は、プロセス制御入力/出力カードC01〜C09、C11、C14およびC15(まとめて番号90と称される)を含む。これらのカードの各々は、これらのカードの各々に接続された異なるフィールドデバイス(図1のフィールドデバイス40および42のうちの個々のものである)の識別および関連する他の情報を示すために拡張され得る。コントローラ87(CTLR1)は、例えば、それの関連するフィールドデバイスの保護を確実にするためにホワイトリスト実行アプリケーションを実装することができる。
安全システム14は、安全ネットワークセクション85において、BLR1BMS、BLR2BMおよびLS1という名前の3つの安全論理ソルバ91〜93を含むものとして示されている。安全論理ソルバ91は、割り当てられた安全モジュール、1つ以上のチャネル(図1のデバイス60および62などの安全フィールドデバイスに接続されている)、ならびにセキュアパラメータを含むことを示すために拡張される。安全論理ソルバ91(ならびに/またはソルバ92および93)は、同様に、例えば、それの関連する安全フィールドデバイスの保護を確実にするためにホワイトリスト実行アプリケーションを実装することができる。これらの場合、1つ以上のホワイトリスト95は、安全論理ソルバ91、92、93に関連付けられている(それに記憶され、それによって使用されている)ものとして構成ディスプレイ83に示され得る。
図2の構成表示画面83は、構成アプリケーション82が、プロセスプラント10内の様々なデバイスに関連付けられたソフトウェア(およびハードウェア)を構成しており、構成エンジニアが、プロセス制御システムデバイスおよび安全システムデバイスを含む、プロセスプラント10内のデバイスに新しい構成ソフトウェアをダウンロードすることによって、プロセスプラント10の現在の構成を作成または変更するために使用できる方法を示す。さらに、それは、構成情報が図1の構成データベース21にどのように記憶されているかを表示することができる。理解されるように、ホワイトリスト構成アプリケーション82は、この情報を利用して、ホワイトリスト実行アプリケーション202およびそれによって使用されるホワイトリストを構成する。
図3Aは、機能の中でも、ホワイトリスト実行アプリケーション320およびホワイトリスト学習アプリケーション330を実装する、図1の安全論理ソルバ50〜56または図1のプロセスコントローラ24および26のうちの1つであり得る、デバイス300のブロック図を示す。デバイス300は、1つ以上のプロセッサまたはCPU301、ランダムアクセスメモリ(RAM)302、セキュリティレベルを設定するためのハードウェアキー303、ローカルエリアネットワーク、ワイドエリアネットワーク、または任意の他の適切なネットワークを介してデータを送受信するための通信インターフェース304、手動構成ポータル305、およびデバイス300によって使用される様々な実行可能モジュールまたはデータを記憶するメモリ310を含むように示されている。概して、デバイス300は、図1のプロセスプラント10の動作中に、フィールドデバイス、I/Oデバイス、ユーザワークステーション、および/または他の任意の適切なコンピューティングデバイスと通信することができる。プロセッサ301は、機能の中でも、メモリ310内の論理を実行することができ、実行可能論理は、通信インターフェース304に結合された通信ネットワークを介してデバイス300が受信するコマンドを処理することを含む。実行可能論理のいくつかは、セキュリティレベルを示すハードウェアキー303の状態に依存し得る。
重要なことに、図3Aのメモリ310は、オペレーティングシステム311と、安全システム制御およびシャットダウン行為などのプロセス制御アクティビティを実行するために、ならびに通信インターフェース304を介してデバイス300によって受信されたメッセージを処理するために、処理ユニット301上で実行される論理モジュール312のセットを含むものとして示されている。論理モジュール312は、図1の構成アプリケーション80を介して構成エンジニアによって構成された前述のモジュールと同じであり得る。論理モジュール312は、デバイス300が、別のコントローラまたはユーザインターフェースデバイス(図1のもののいずれかなど)から受信されたコマンドに、ならびにインターフェース304を介してデバイス300に接続された安全システムまたはプロセス制御フィールドデバイスから受信されたデータまたはメッセージにどのように応答するかを制御することができる。またさらに、図3Aに示されるように、メモリ310は、ホワイトリスト実行アプリケーション320および/またはホワイトリスト学習アプリケーション330を記憶する。ホワイトリスト学習アプリケーション330およびホワイトリスト実行アプリケーション320は別個のアプリケーションとして示されているが、それらの機能は単一のアプリケーションに組み合わせることができる。
一般的に述べると、ホワイトリスト実行アプリケーション320(図1のアプリケーション202のいずれかであり得る)は、処理ユニット301上で実行され、1つ以上のフィールドデバイス、またはデバイス300に接続されたサブネットワーク内の他のデバイスに送信されるHARTメッセージなどのメッセージのためのサイバーセキュリティゲートウェイとして機能する。より具体的には、ホワイトリスト実行アプリケーション320は、通信インターフェース304を介して受信され、安全システムフィールドデバイスなどのサブネットワーク内のデバイス(例えば、フィールドデバイス)を対象とするかまたはアドレス指定される着信メッセージをデコードおよび分析して、このメッセージが目的のデバイスに送信されることが可能であるかどうか、または代わりに、メッセージがブロックされる必要があるかどうかを判定する。ホワイトリスト実行アプリケーション320は、例えば、着信メッセージをデコードし、メッセージに関連付けられたコマンドタイプ(例えば、HARTコマンドタイプ)を判定することができる。次に、ホワイトリスト実行アプリケーション320は、このコマンドタイプを、デバイス300に記憶された1つ以上のホワイトリストにおいて定義されたサブネットワーク内のデバイスに送信されることが許可されるコマンドタイプのリストと比較することができる。例えば、コマンドタイプが、適切なホワイトリストに記憶されている場合、アプリケーション320は、メッセージがインターフェース304を介してサブネットワーク内のデバイス(例えば、フィールドデバイス)に転送されることを許可し得る。しかしながら、コマンドタイプが、適切なホワイトリストに記憶されていない場合、アプリケーション320は、メッセージがインターフェース304を介してサブネットワーク内のデバイスに送信されるのをブロックし、代わりに、メッセージが許可されていないためにブロックされたことを示すメッセージを送信デバイス(すなわち、メッセージを送信したデバイス)に送信し得る。またさらに、ホワイトリスト実行アプリケーション320は、ハードウェアキー303の設定に基づいて、あるいは、例えば、ハードウェアキー303(またはソフトウェアキー)、メッセージの送信先である特定の1つ以上のデバイス、デバイス300またはデバイス300が使用されるプロセスプラントの動作状態などによるセキュリティレベルの設定を含む様々な他の要因に基づいて提供するセキュリティのレベルおよびタイプを定義する、それの構成中にデバイス300に提供される他の構成データに基づいて、この機能に使用する適切なホワイトリストを判定し得る。
さらに、以下でより詳細に説明するように、ホワイトリスト学習アプリケーション330は、メッセージを受け入れ、メッセージについて、特にメッセージ内に存在するコマンドタイプについて学習し、次に、この学習に基づいてホワイトリスト実行アプリケーション320によって使用される1つ以上のホワイトリストを生成するために、処理ユニット301上で実行され得る。特に、ホワイトリスト学習アプリケーション330は、セキュリティゲートウェイデバイスに送信されるメッセージにおいて典型的に見られ、それの内のコマンドまたはコマンドタイプを用いて1つ以上のホワイトリストを作成する場合がある、これらのコマンドまたはコマンドタイプ(例えば、HARTコマンド)を学習するために、セーフモードで動作することができる(すなわち、プラントまたはプロセス制御ネットワークがセーフモードまたは環境において動作していることが知られているとき)。その後、プラントまたはセキュリティゲートウェイデバイスがロックモードに設定されると、セキュリティゲートウェイデバイスは、学習したホワイトリストを使用して動作し、ゲートウェイデバイスにおいてまたはゲートウェイデバイスのサブネットワーク内のデバイスにおいて処理できるメッセージを判定することができる。
図3Bは、デバイス300のプロセッサ301上で実行されているホワイトリスト実行アプリケーション320の拡大図を含む、図3Aのデバイス300の少なくとも一部をより詳細に示している。ホワイトリスト実行アプリケーション320の拡大図は、ホワイトリスト実行論理モジュール326、復号化モジュール325、ホワイトリスト構成情報324、および1つ以上のホワイトリストのセット321、セキュア書き込みクライアント322、およびセキュリティレベル設定323を含む。セキュア書き込みクライアント322は、ホワイトリスト実行アプリケーション320のホワイトリスト構成情報324およびホワイトリスト321に追加し、それらから削除し、それらを一般に編集することを意図するユーザの認証を可能にすることができる。ホワイトリスト構成情報324のいくつかは、暗号化された形式でホワイトリスト実行アプリケーション320に送信され得る。暗号化されたホワイトリスト構成情報は、復号化モジュール325によって復号化され得る。さらに、ホワイトリスト実行論理モジュール326は、図3Aのプロセッサ301上で実行されると、(プロセスコントローラ、ユーザインターフェース、または任意の他のデバイスによって送信され、デバイス300またはデバイス300に接続されたサブネットワーク内のデバイスを対象とする)メッセージまたはコマンドを通信インターフェース304から受信し、ホワイトリスト実行アプリケーション300の他のコンポーネントと連携して、メッセージコマンドが、(例えば、論理モジュール312内の)デバイス300によってさらに処理されることを許可するか、またはデバイス300に接続されたサブネットワーク内の1つ以上のデバイス(例えば、フィールドデバイス22)に送信されることを許可するかを判定する、論理またはプログラミングを含む。
ホワイトリスト実行論理モジュール326は、ホワイトリスト構成情報324、ホワイトリスト321、およびセキュリティレベル323に部分的に基づいて、通信インターフェース304を介して受信されたメッセージが許可されるべきかどうか(例えば、デバイス300によって処理されるか、またはデバイス300がゲートウェイとして機能するサブネットワーク内のデバイスに送信されるか)を判定する。セキュリティレベル323は、ある時点でのホワイトリスト実装デバイス300のセキュリティレベルを記憶する。セキュリティレベル323は、図3Aのハードウェアキー303を使用して設定され得るか、または図1の1つ以上のユーザワークステーション16の適切なユーザを介して、もしくは他の任意の所望の方法を介して設定され得る。ホワイトリスト321は、ホワイトリストのリストを構成する。各ホワイトリストは、許可されるコマンドタイプの排他的なセットである。理解されるように、複数のホワイトリスト321のうちの少なくとも1つは、デバイス固有および/または一般的な慣行のコマンド、具体的にはデバイス固有および/または一般的な慣行の読み取りコマンドを含み得る。ホワイトリスト構成情報324は、所与の着信コマンドもしくはプロセス状態のためにどのホワイトリスト321を使用することができるかを判定するために使用されるデータ、またはどのホワイトリスト321が使用されるかに影響を及ぼし得る他の情報を含む。具体的には、ホワイトリスト構成情報324は、図示のデバイスが特定のセキュリティレベルに設定されたときにどのホワイトリストが使用されるかを定義する、ハッシュマップなどのマップを構成することができる。ホワイトリスト321およびホワイトリスト構成情報324は、リスト、マップ、ハッシュマップ、ハッシュセット、リンクリスト、キュー、スタックおよび/または他の任意の適用可能なデータ構造に記憶され得る。ホワイトリスト321が選択され、着信メッセージが許可されるか否かの方法は、図4の流れ図400によってより詳細に示されるように、ホワイトリスト実行論理モジュール326の動作によって判定される。
特に、図4に示すように、ステップ401において、図3Bのホワイトリスト実行論理モジュール326は、通信インターフェース304からコマンドまたはメッセージ(例えば、HARTメッセージ)を受信する。次に、ステップ402において、アプリケーション320は、メッセージからコマンドタイプフィールドを抽出することによってコマンドタイプを識別する。ステップ403において、アプリケーション320は、以下で詳述するように、現在のセキュリティレベル323およびホワイトリスト構成情報324に基づいて、1つ以上のホワイトリスト321を検索する。ステップ404において、受信されたメッセージのコマンドタイプがホワイトリスト321内に存在する場合、アプリケーション320は、メッセージが許可されたメッセージとして処理されることを可能にする。ステップ406において、アプリケーション320は、以下で詳細に説明するように、通信インターフェース304が、通信インターフェース304を介してメッセージを所望のフィールドデバイスに転送すること、またはデバイス300内の1つ以上の論理モジュール312によって処理されることを可能にし得る。ステップ404において、メッセージタイプがホワイトリスト321に含まれていない場合、アプリケーション320は、メッセージが許可されていないメッセージであるために処理されないようにメッセージをマークすることができる。ステップ405において、許可されていないメッセージは、ドロップされ得る(例えば、転送のために通信インターフェースに戻されない可能性がある)か、または他の方法でドロップされ得る。ステップ405は、通信インターフェース304を介して、プロセス制御オペレータ、保守要員、構成エンジニアなどのプラント要員に、これらの要員または発信デバイスが適切な行動をとることができるようにメッセージがドロップされたことを通知することをさらにまたは代替的に含み得る。
このようにして、着信メッセージ(例えば、HARTメッセージ)が通信インターフェース304によって受信されると、それは、最初にホワイトリスト実行アプリケーション320に渡される。ホワイトリスト実行アプリケーション320のホワイトリスト実行論理モジュール326は、メッセージからコマンドタイプを抽出し、ホワイトリスト構成情報324およびセキュリティレベル323を使用してホワイトリスト321をルックアップする通信論理を含む。次に、ホワイトリスト実行論理モジュール326は、選択されたホワイトリスト内で抽出されたコマンドタイプを探索して、メッセージを許可するか拒否するかを判定することができる。例えば、ホワイトリスト実行アプリケーション320をホストするデバイス300上のハードウェアキー303が、高レベルのセキュリティを示す位置に設定されている場合、ホワイトリスト構成情報324は、通信インターフェース304を介した着信コマンドが第1のホワイトリストに対してチェックされ得ることを指定することができる。しかしながら、ホワイトリスト実装デバイス300が中レベルのセキュリティに設定されている場合、ホワイトリスト構成情報324は、着信コマンドが第2のホワイトリストに対してチェックされ得ることを指定し得る。第2のホワイトリストは、より長くてもよい(すなわち、それほど厳密でない)。代替的または追加的に、ホワイトリスト構成情報324は、低セキュリティレベルで、ホワイトリスト実行アプリケーション320がホワイトリスト全体を使用し得る(すなわち、あらゆるコマンドタイプを含み得る)ことを指定し得る。代替的または追加的に、ホワイトリスト構成情報324は、さらに高いセキュリティレベルで、ホワイトリスト実行アプリケーション320が空のホワイトリスト(すなわち、完全なブラックリスト)を使用し得ることを指定し得る。当然のことながら、各ホワイトリストは、許可されている任意の数またはタイプのコマンドタイプを含むことができ、多くの場合、これらは異なる場合があり、重複するセットではない。
当然のことながら、メッセージが許可される場合、ステップ406において、メッセージは、標準動作のために通信インターフェース304に返され得る。標準動作は、1つ以上の論理モジュール312の実行を含み得る。標準動作は、メッセージの転送または標準プロトコルに基づくメッセージの処理をさらにおよび/または代替的に含み得、例えば、メッセージのMACアドレスまたはIPアドレス宛先フィールドを使用し、代替的または追加的にパススルーHART通信を使用し得る。
別の実施形態または同じ実施形態では、ホワイトリスト構成情報324は、ホワイトリスト実装デバイス300が特定のセキュリティレベルに設定され、着信コマンド宛先が、ホワイトリスト実装デバイス300に接続された特定のフィールドデバイスである場合に使用されるホワイトリストを定義することができる。したがって、ステップ402は、信号からコマンドタイプと宛先の両方を抽出して、使用するホワイトリストと、そのホワイトリストに基づいてメッセージが許可されるかどうかを判定することができる。例えば、ホワイトリスト実装デバイス300上のハードウェアキー303が、高レベルのセキュリティを示す位置に設定されている場合、ホワイトリスト構成情報324は、第1のバルブに向けられている通信インターフェース304を介した着信コマンドが第1のホワイトリストに対してチェックされることを指定することができる。しかしながら、着信コマンドが、同じセキュリティレベルで第2のバルブに向けられている場合、ホワイトリスト構成情報324は、着信コマンドが第2のホワイトリストに対してチェックされることを指定し得る。当然のことながら、これは単なる例であり、構成、プロセス状態、または他のデータの他の多くの組み合わせを使用して、特定の時間に特定のメッセージを処理する際にどのホワイトリストを使用するかを判定することができる。
図5Aは、デバイス300のプロセッサ301上で実行されているホワイトリスト学習アプリケーション330の拡大図を含む、図3Aのデバイス300の少なくとも一部をより詳細に示している。ホワイトリスト学習アプリケーション330の拡大図は、ロック/学習モード設定またはデータ333、ホワイトリストビルダ論理データのセット332、およびホワイトリスト学習論理モジュール331を含む。ホワイトリスト学習論理モジュール331は、実行されると、ホワイトリスト学習アプリケーション330の論理を実行する機械実行可能コードを含み得る。ロック/学習モード333は、デバイス300が「ロック」状態にあること、またはデバイス300が「学習」状態にあることを示すデータを示し、または記憶することができる。デバイス300は、キーなどのデバイス上のハードウェア要素に従って、あるいは、構成エンジニア、プラントオペレータ、保守要員などの適切なユーザによって、図1のワークステーション16のうちの1つ以上を介して発行されたコマンドに従って、ロックモードから学習モードに、およびその逆に切り替わることができる。ホワイトリスト学習論理モジュール331によって実行されるアクションは、これらの状態に依存する場合がある。ホワイトリストビルダ論理またはデータ332は、理解されるように、デバイス300が学習状態にあるときにホワイトリスト構成を構築するために使用される。ホワイトリストビルダ論理またはデータ332は、図3Bのホワイトリスト構成情報324と同様に、ハッシュマップなどのマップを構成することができる。一般的に述べると、ホワイトリスト学習アプリケーション330は、通信インターフェース304からコマンドを受信することができ、アプリケーション330は、これらのコマンドをホワイトリスト実行アプリケーション320に転送することができ、および/またはメッセージを通信インターフェース304に返して、論理モジュール331の設定および動作に基づいて所望の宛先フィールドデバイスに転送することができる。
図5Bは、ホワイトリスト学習論理モジュール331の流れ図500の一例をより詳細に示している。ホワイトリスト学習アプリケーション330が(ステップ501において)通信インターフェース304からメッセージを受信すると、論理モジュール331は、最初に(ステップ502において)、デバイス300が「学習」状態にあるか、または代わりに、デバイス300が、データ333によって定義される「ロック」状態にあるかを判定するためにチェックすることができる。デバイス300がロック状態にある場合、アプリケーション330は、上記のように処理されるように(ステップ503において)ホワイトリスト実行アプリケーション320に単にメッセージを送信することができる。しかしながら、デバイス300が学習状態にある場合、論理モジュール331は、着信メッセージを安全な性質のものとして扱い、ホワイトリストビルダ論理332を使用して、メッセージのHARTコマンドタイプ、メッセージを受信するサブネットワーク内のデバイスなど、メッセージに関する情報を適切に「学習」する。論理332がこの情報を「学習」した後、ホワイトリスト学習論理モジュール331は、コマンドを通信インターフェース304に戻し、例えば、論理モジュール312を実行すること、およびコマンドをその所望の宛先に転送することなど、標準動作を実行する。このようにして、ステップ504に示されるように、学習モードにあるとき、ホワイトリスト学習論理モジュール331は、着信メッセージのコマンドタイプ(ならびにセキュリティレベルおよび他の任意の所望の情報)を抽出することができる。次に、ステップ505において、論理モジュール331は、ホワイトリストビルダ332を使用して、コマンドタイプを記憶するために、理解されるように、ホワイトリストおよびホワイトリストマッピングを構築することができる。例えば、一実施形態では、ステップ504において、ホワイトリスト学習論理モジュール331は、デバイス300のセキュリティレベル323をチェックし得、ホワイトリストビルダにおけるセキュリティレベルをさらにルックアップして、そのセキュリティレベルに対して既存のホワイトリストがすでにあるかどうかをチェックし得る。既存のホワイトリストが存在する場合、論理モジュール331は、ステップ505において、コマンドタイプをホワイトリストビルダ論理またはデータ332内のそのホワイトリストに追加することができる。既存のホワイトリストがない場合、論理モジュール331は、そのセキュリティレベルに対応する新しいホワイトリストを記憶することができ、ホワイトリストは、着信メッセージのコマンドタイプを含む。別の実施形態では、ホワイトリストビルダ332は、セキュリティレベルとコマンド宛先(および/または他の情報)の組み合わせからホワイトリストへのマッピングをさらに記憶することができる。例えば、一実施形態では、ホワイトリスト学習論理モジュール332は、セキュリティゲートウェイデバイス300のセキュリティレベル323、および着信メッセージのデバイス宛先(例えば、デバイスアドレス)をチェックすることができる。次に、論理モジュール331は、ホワイトリストビルダデータ332において、そのセキュリティレベルおよびそのデバイス宛先に対応する値をルックアップして、その組み合わせに対してホワイトリストが存在するかどうかを確認することができる。ホワイトリストが存在する場合、論理モジュール331は、コマンドタイプをホワイトリストに追加することができ、ホワイトリストが存在しない場合、論理モジュール331は、その宛先デバイスのためにそのコマンドタイプを含む新しいホワイトリストを作成することができる。ホワイトリスト学習アプリケーション330は、学習アプリケーション330の実行中の様々な時点においてホワイトリスト実行アプリケーション320と通信することができる。具体的には、学習アプリケーション320は、ホワイトリストビルダ論理またはデータ332を使用する代わりに、またはそれを使用することに加えて、新しいコマンドを受信するときに、図3Bのホワイトリスト構成情報324を直接編集することができる。当然のことながら、ステップ506に示されるように、学習モード中にホワイトリストを構築するとき、論理モジュール311は、通常の処理が許可されているものとして、メッセージまたはコマンドを通信インターフェースに返すことができる。
最後に、ホワイトリスト学習アプリケーション330が、デバイスが学習状態からロック状態に切り替わった、または切り替わっていることを認識すると、アプリケーション330(またはその論理モジュール331)は、アプリケーション320によって使用される1つ以上のホワイトリストを更新することを含めて、必要に応じてホワイトリスト実行アプリケーション320更新することができる。アプリケーション330が学習した情報をホワイトリストビルダ332に記憶している場合、アプリケーション320はホワイトリストビルダ332を空にすることができる。それはまた、空になる前にホワイトリストビルダ332に含まれていた情報を反映する更新されたホワイトリストに基づいて、ホワイトリスト実行アプリケーション320を構成することができる。例えば、デバイス300が学習状態からロック状態に切り替えられると、アプリケーション323は、(ビルダ論理またはデータ332において反映される)それが構築したホワイトリストからのすべてのコマンドを、ホワイトリスト実行アプリケーション330のホワイトリスト構成情報324内の適切なホワイトリストに追加することができる。代替的に、アプリケーション330は、ホワイトリスト実行アプリケーション320に記憶されそれによって使用されるホワイトリストを、学習モード中にビルダ論理またはデータ332においてまたはそれによって作成されたホワイトリストに置き換えることができる。理解されるように、ホワイトリスト学習アプリケーション330は、プロセス制御および安全システムの既知の通常の動作に基づいて、ホワイトリスト実行アプリケーション320によって使用されるホワイトリストの自動学習または構築を可能にする。
図1のホワイトリスト構成アプリケーション80の動作は、図6〜9を参照してより詳細に説明される。特に、図6は、図1のワークステーション16のうちの1つに配置されたセキュアホワイトリスト構成アプリケーション80を示し、ホワイトリスト構成アプリケーション80は、例えば、図1のプロセスコントローラ24、26または安全論理ソルバ50、52、54、56のうちの1つなどにおいて、プロセスプラント内のセキュリティゲートウェイデバイスのうちの1つ以上において使用する1つ以上のホワイトリストを作成および確立すること、ホワイトリストをセキュリティゲートウェイデバイスにダウンロードすること、ホワイトリスト機能を含むようにセキュリティゲートウェイデバイスを構成すること、セキュリティゲートウェイデバイスのセキュリティ設定を変更することなど、ホワイトリスト構成アクションを実行するために実行され得る。一般的に述べると、ホワイトリスト構成アプリケーション80は、処理ユニット601上でホワイトリスト構成論理モジュールを実行するように構成され、構成情報を含む構成メモリ610と、プロセスプラント10内の他のデバイスと通信する通信層630と、ユーザインターフェースと相互作用して1つ以上の使用に対して情報を提供し、1つ以上の使用から情報を取得するユーザディスプレイインターフェース620とに通信可能に結合される。
より具体的には、セキュアホワイトリスト構成アプリケーション80は、通信層またはスタック630などの通信ソフトウェアと相互作用し、この通信ソフトウェアは、イーサネット接続22を介してプロセスコントローラ24および26と通信して、コントローラ24および26、安全論理モジュール50〜56、I/Oデバイス28〜36、フィールドデバイス40、42、60および62、ならびに/または他のワークステーション16に信号を送信し、それらから信号を受信する。通信層630はまた、警報確認信号など、コントローラ、I/Oデバイス、フィールドデバイス、安全論理ソルバおよび他のワークステーションに送信されるメッセージを適切にフォーマットする。通信ソフトウェア630は、例えばイーサネット通信で現在使用されている任意の既知のまたは所望の通信ソフトウェアであり得る。当然のことながら、通信スタック630は、ワークステーション16内で実行される構成アプリケーション、診断または他のプロセスアプリケーション、データベース管理アプリケーションなどの他の機能を実行する他のソフトウェアに結合され得る。
構成メモリ610は、プロセスプラント10内の物理的および電気的構成、接続、およびリンクを表す構成情報を記憶または提供することができ、プロセスプラント10内のデバイス間の通信能力を定義することができる。図6の構成情報は、図1の構成情報データベース21であり得るか、またはプラント構成情報をローカルに記憶することができるか、または別の場所から構成情報を検索することができる。ワークステーション16内のユーザディスプレイインターフェース620は、ホワイトリスト構成アプリケーション80が、ユーザ入力を読み取ること、ユーザに情報を提供すること、または任意の他のユーザインターフェースアクティビティを実行することを可能にすることができる。概して、処理ユニット601は、ユーザディスプレイインターフェース620と連動して動作して、プロセス制御システム12および安全システム14内の要素からの読み取りまたは要素への書き込みの要求を検出することができる。一緒に、構成情報メモリ610、ユーザディスプレイ620および通信層630は、ホワイトリスト構成アプリケーション80の機能を可能にするように動作する。
一般的に述べると、ホワイトリスト構成アプリケーション80は、処理ユニット601上で実行され、プロセス制御システム12のプロセスコントローラ24および/または26、あるいは安全システム14の安全論理ソルバ50〜56、あるいはプラント10内の任意の他のセキュリティゲートウェイデバイスに向けられた任意の所望のホワイトリスト構成に関するセキュアホワイトリスト構成手順を実行する。ホワイトリスト構成アプリケーション80は、ユーザを認証し、1つ以上のホワイトリストを作成し、ホワイトリストを編集するかまたは読み取りおよび書き込み機能を介してホワイトリスト実行アプリケーション320の構成を変更するようにとの指示をユーザから受け取り、所望のセキュリティゲートウェイデバイスおよびそれらに対応するホワイトリスト実行アプリケーション320を構成するように構成される。図6に示されるように、ホワイトリスト構成アプリケーション80は、デバイス固有のコマンド発見モジュール602、ホワイトリスト構成論理モジュール603、記憶されたアクセス特権のセット604、構成情報モジュール605、暗号化ルールのセット606、ホワイトリスト構成情報モジュール607、およびセキュア書き込みサーバ608を含む。セキュアホワイトリスト構成アプリケーション80は、スタンドアロンアプリケーションとして示されているが、このアプリケーションは、図1のオペレータワークステーション16(または任意の他のコンピュータ)において使用される任意の他のアプリケーションに組み込まれて、安全システム14(および、所望される場合、プロセス制御システム12)からの読み取りおよびそれへの書き込みが、セキュアホワイトリスト構成アプリケーション80に従って行われることが確実になり得ることが理解されよう。
概して、ホワイトリスト構成論理モジュール603は、処理ユニット601上で実行されて、アプリケーション80に関連付けられた論理を実行し、より具体的には、通信層630、構成情報610およびユーザディスプレイインターフェース620と併せて、他のモジュール(サブルーチンであり得る)または情報コンポーネント602および604〜608を使用して、ホワイトリスト実行アプリケーション320およびホワイトリスト学習アプリケーション330の構成を実行するように動作する。これらの構成アクティビティは、プラント10内の1つ以上のセキュリティゲートウェイデバイスにおいて1つ以上のホワイトリスト実行アプリケーション320および/またはホワイトリスト学習アプリケーション330を作成および設定(ダウンロード)し、プラント10内の1つ以上のホワイトリスト実行アプリケーション320および/またはホワイトリスト学習アプリケーション330の構成設定を有効または変更すること、ならびにプラント10内の1つ以上のホワイトリスト実行アプリケーション320によって使用される1つ以上のホワイトリストを作成または修正することを含み得る。
一般的に述べると、論理モジュール603は、セキュア書き込みサーバ608と、どの認証されたユーザアカウントが特定の論理ソルバ、プロセスコントローラまたは他のセキュリティゲートウェイデバイスのホワイトリスト実行アプリケーションを構成し得るかを定義する、記憶されたアクセス特権のセット604とを使用してユーザ認証を実行する。またさらに、論理モジュール603は、デバイス固有のコマンド発見モジュール602を呼び出して、1つ以上のホワイトリスト実行アプリケーション320において使用される1つ以上のホワイトリストに配置される1つ以上のコマンドを発見することができる。同様に、論理モジュール603は、構成情報モジュール605を使用して、プラント10およびプラント内のデバイスに関する一般的な構成情報を記憶または取得して、1つ以上のホワイトリストを作成することでき、ホワイトリスト構成情報モジュール607を使用して、プラント10において使用するために作成された1つ以上のホワイトリストに関連付けられた構成情報を記憶または取得することができる。同様に、論理モジュール603は、暗号化ルール606を使用して、プラント10内のデバイスとの間で送受信される情報の暗号化を実行することができる。
動作中、アプリケーション80は、要求されたホワイトリスト構成の読み取りまたは書き込みアクティビティに関する情報をユーザディスプレイインターフェース620から受信することができる。それに応答して、論理モジュール603(処理ユニット601上で実行される)は、要求されたホワイトリスト構成の読み取りまたは書き込みが、認証されたユーザがそれへの適切なアクセス特権604を持つ(すなわち、ユーザが構成読み取りおよび/または書き込みをそれについて発行することができる)プロセスコントローラに関係するか安全論理ソルバ(または他のセキュリティゲートウェイデバイス)に関係するかを判定する。このプロセスの一部として、ホワイトリスト構成論理モジュール603は、ユーザディスプレイインターフェース620からデータを受信し、セキュア書き込みサーバ608を介してユーザを認証することができる。場合によっては、論理モジュール603は、ユーザの識別をすでに知っており、ユーザが読み取る/書き込むことができないデバイスを参照しているユーザインターフェース表示画面のセクションをグレー表示することによって、ユーザの書き込み/読み取り能力を事前に示すことができる。他の場合には、論理モジュール603は、代替的または追加的に、パスワードおよびユーザ識別を提供するようにユーザに要求し得、論理モジュール603は、要求された読み取りおよび/または書き込みを実行する前に、適切な権限について、記憶されたユーザアクセス特権604に対してこれらをチェックし得る。
認証されたユーザから、プラント10内の特定のセキュリティゲートウェイデバイスを構成するための(例えば、ホワイトリスト実行アプリケーションをダウンロードする、ホワイトリスト実行アプリケーションまたは学習アプリケーションの設定を変更する、例えば、デバイスを学習モードまたはロックモードにする、ホワイトリストを追加、変更または削除するなどのための)コマンドをユーザディスプレイインターフェース620から受信した後、ホワイトリスト構成論理モジュール603は、ホワイトリスト構成情報モジュール607、構成情報モジュール605およびデバイス固有のコマンド発見モジュール602を使用して、構成コマンドを準備し、これらのコマンドを適切なプロセスコントローラおよび/または安全論理ソルバに送信して、これらのデバイス内の1つ以上のホワイトリスト実行アプリケーション320またはホワイトリストを構成する。これらの発信コマンドは、プロセスコントローラおよび/または安全論理ソルバ上のホワイトリスト実行および学習アプリケーション320および330をダウンロードまたは更新して、これらのアプリケーションの設定を変更し、これらのアプリケーションをダウンロードまたはインストールしこれらのアプリケーションによって使用されるホワイトリストを変更するなどの場合がある。さらに、論理モジュール603は、ホワイトリスト構成情報モジュール607を使用して、プロセスプラント10内の既存のホワイトリスト構成に関する情報をユーザに提供することができる。ホワイトリスト構成情報モジュール607は、例えば、ホワイトリスト構成の表現を図6のデバイス16上にローカルに記憶することができるか、あるいはモジュール607は、通信層630を使用して、安全論理デバイス50〜56および/またはプロセスコントローラ24もしくは26または構成データベース(図1のデータベース21など)などから、ホワイトリスト構成情報を検索することができる。さらに、構成情報モジュール605は、図2に部分的に示される構成アプリケーション80によって実装され、図1の構成データベース21に記憶された他の構成情報を、論理モジュール603がこの情報を必要とするときにネットワーク22を介して検索することができる。
一実施形態では、ホワイトリスト構成アプリケーション80は、ユーザが、特定のコマンドタイプを新規または既存のホワイトリストに追加または削除するための特定の命令を発行することを可能にすることによって、論理ソルバ50〜56またはプロセスコントローラ24もしくは26上のホワイトリストを構成する。構成アプリケーション80はまた、ユーザが既存のホワイトリストを同じ方法で編集することを可能にする。編集機能は、ホワイトリスト構成情報モジュール607から情報を検索し、この情報を、ユーザインターフェースを介してユーザに提供し、次いでユーザがホワイトリストへの変更を指定できるようにすることによって提供され得る。例えば、ホワイトリスト構成アプリケーション80は、いくつかのホワイトリスト構成を用いて特定のデバイスを構成するようにとの指示をユーザから受け取り得る。変更可能であるデバイスは、アクセス特権604に従って、プラント10内のデバイスの特定のサブセットに制限され得る。理解されるように、ホワイトリスト構成アプリケーション80はまた、どのホワイトリストが特定のデバイスのどのセキュリティレベルに対応するか(またはそれのために使用されるか)を指定する構成情報をユーザから取得することができる。次に、アプリケーション80は、HARTなどの通信プロトコルまたは当業者に知られている任意の他の通信方法に従って、ホワイトリストが存在するかまたは使用されるデバイスにパケットを送信することによって、新しいホワイトリスト構成情報に従って示されたデバイス300を構成する。
別の実施形態では、ホワイトリスト構成アプリケーション80は、安全論理ソルバ50〜56、プロセスコントローラ24もしくは26および/またはフィールドデバイスの指示を受け取り、デバイス固有のコマンド発見モジュール602を利用して、ユーザがデバイスのホワイトリストにおいて使用するための提案として、1つ以上のフィールドデバイスに対する関連するデバイス固有のおよび一般的な慣行のコマンドタイプを検索する。デバイス固有のコマンド発見モジュール602によって発見されたデバイス固有のHARTコマンドは、新しいホワイトリストを構築するためのまたは既存のホワイトリストを編集するための提案されたオプションとして、ユーザインターフェース620を介してホワイトリスト構成アプリケーション80のユーザに提示され得る。提案されたオプションは、ユーザが選択したフィールドデバイスに対応し得、追加的または代替的に、ユーザが選択した安全論理ソルバ50〜56またはプロセスコントローラ24もしくは26に接続されたフィールドデバイスに対応し得る。
さらに別の実施形態では、プロセスプラント要員は、ホワイトリスト構成アプリケーション80を使用して、任意の数の前述のステップを自動的に実行することができる。プロセスプラントオペレータまたは構成エンジニアは、前述の発見プロセスを自動的に実行するようにホワイトリスト構成アプリケーション80を構成することができる。ホワイトリスト構成アプリケーション80は、発見モジュール602を使用して、デバイス固有のコマンドの前述のホワイトリストをさらに自動的に構築することができる。ホワイトリスト構成アプリケーション80は、追加的または代替的に、上記で詳述したように、読み取りコマンドのみを使用して前述のホワイトリストを構築することができる。さらに、ホワイトリスト構成アプリケーション80は、特定の安全論理ソルバ50〜56またはプロセスコントローラ24もしくは26のホワイトリスト実行アプリケーションを自動的に構成して、自動生成されたホワイトリストを実装することができる。これらの自動化されたステップは、前述の手動プロセスの一部であり得るか、または当業者が望むであろう任意の程度に自動化され得る。自動化された各ステップは、ユーザからのコマンドに応答して実行することも、プロセスプラントにおける変更に応答して実行することもできる。例えば、ホワイトリストの生成は、フィールドデバイス40、42、60または62がプロセスプラントに設置された後に自動的に行われるか、または、ユーザによって最近設置されたフィールドデバイス40、42、60または62を見つけるように指示され得る。別の例では、ユーザは、プロセスプラント内の特定のデバイス50〜56、24、26、40、42、60または62を選択してから、自動ホワイトリスト生成および構成プロセスを開始することができる。
前述の実施形態のすべてにおいて、ホワイトリスト実装デバイス300を構成するために通信層630を介して送信される構成情報は、ユーザディスプレイインターフェース620からの情報に基づいて、暗号化ルール606を使用して暗号化され得る。
好ましい実施形態では、ホワイトリストは、危険な性質である可能性がより高い書き込みコマンドが除外されるように、読み取りコマンドから概して構成される。さらに、HARTユニバーサルタイプの読み取りコマンドのみから構成されるホワイトリストを構築する代わりに、一実施形態では、ホワイトリストは、HARTデバイス固有タイプの、またはHARTの一般的な慣行のタイプの読み取りコマンドをさらに含む。
図7は、図6のホワイトリスト構成アプリケーション80のホワイトリスト構成論理モジュール603の論理の一例のフローチャート700を示している。ステップ701において、論理603は、ログインプロセスを介してユーザを認証する。次に、論理603は、図6のワークステーション16のうちの1つのユーザディスプレイインターフェースを介してユーザにユーザインターフェースを提示する。ステップ702において、論理603は、ユーザが、構成されるべきホワイトリスト実装デバイス300を識別することを可能にする。一実施形態では、ユーザが選択したホワイトリスト実装デバイス300を判定することは、受信された情報が、特定のフィールドデバイスならびに/またはフィールドデバイスタイプ40、42、60、および/もしくは62を指定する場合、追加のステップを必要とし得る。追加のステップは、図6の構成情報モジュール605を使用して、指定されたフィールドデバイスおよび/またはフィールドデバイスタイプに結合されているかまたはそれらのゲートウェイとして機能する安全論理ソルバ50〜56および/またはプロセスコントローラ24もしくは26(もしくは他のセキュリティゲートウェイデバイス)の識別を検索することを構成し得る。次に、ステップ703において、ホワイトリスト構成論理モジュール603は、以下でより詳細に説明するように、デバイス固有のコマンド発見モジュール602を実行して、指定されたデバイスに対するホワイトリストにおいて使用することができるデバイスコマンドのセットを判定または発見する。ステップ703はまた、デバイスについての発見されたコマンド情報に基づいて、デバイスに対する1つ以上のホワイトリストを構築することを含み得、論理モジュール603は、これらのホワイトリストを自動的にまたはユーザ入力に基づいて構築し得る。しかしながら、概して、論理モジュール603は、提案されたコマンドのセットをユーザに提供して、デバイスに対する1つ以上のホワイトリストに入れ、ユーザがそれらの提案を修正または確認できるようにすることができる。次に、ステップ704および705において、ホワイトリスト構成論理モジュール603は、構成メッセージ(例えば、使用するホワイトリストを含むメッセージ、またはホワイトリスト実行および学習アプリケーション320 330の設定の変更)を構築し、構成情報を1つ以上のホワイトリスト実装デバイス300(例えば、安全論理ソルバ50〜56および/またはプロセスコントローラ24もしくは26)に送信し、それにより、1つ以上のホワイトリスト実行アプリケーション320または学習アプリケーション330の構成に影響を与える。任意選択的に、ホワイトリスト構成アプリケーション80は、ユーザがホワイトリスト構成情報を送信しようとした後にのみ、認証ステップ701を実行することができる。代替的または追加的に、ホワイトリスト構成アプリケーション80は、不必要な認証を回避するために、アクセス特権604がユニバーサル読み取り/書き込みアクセスを許可するかどうかを確かめるためにチェックした後にのみ、ユーザに自分自身を認証するように促すことができる。代替的または追加的に、ホワイトリスト構成論理モジュール603は、発信メッセージが送信される前に発信メッセージを暗号化するために、図6の暗号化ルール606を使用することができる。
図8は、1つ以上のホワイトリストにおいて使用される、特定のフィールドデバイスのデバイス固有のおよび/または一般的な慣行のコマンドタイプを収集または発見するために(例えば図7のステップ703において)使用される、前述のデバイス固有のコマンド発見モジュール602の動作の例を示すフローチャート800を示す。ステップ801において、モジュール602は、例えば、図6の処理ユニット601からターゲットデバイスを受信する。次に、ステップ802において、モジュール602は、構成データベース21または構成情報610を照会するか、またはそうでなければ、構成情報モジュール605を使用して、選択されたフィールドデバイス40、42、60および/もしくは62に関連付けられたデバイス固有のコマンドタイプおよび/もしくは一般的な慣行のコマンドタイプを検索する。ステップ802において、モジュール602は、任意選択的に、ユーザから、またはこれらが記憶され得る構成データベースから受信されるデバイス固有および/または一般的な慣行の読み取りコマンドタイプについてのクエリのみを発行することができる。ステップ803において、モジュール602は、上記および以下で説明する方法で使用される処理ユニットにコマンドタイプを送信する。代替の実施形態では、ステップ802において、モジュール602は、ターゲットデバイスまたは構成データベースに読み取りメッセージを発行し、例えば、図6の通信層630を介して、ターゲットデバイスに対するデバイス記述を要求する。構成データベース、ターゲットデバイスまたは別のソースからデバイス記述を受信すると、デバイス固有のコマンド発見モジュール602は、デバイス記述を解析して、デバイス記述によって定義されるようにそのデバイスによって実装されるデバイス固有のコマンドタイプおよび/または一般的な慣行のコマンドタイプにアクセスするかまたはそれらを識別する。さらに、モジュール602は、各デバイスコマンドタイプが読み取りコマンドであるか書き込みコマンドであるかを判定することができる。別の実施形態では、ステップ803において、デバイス固有のコマンド発見モジュール602は、次に、コマンドタイプを処理ユニットに返し、そこで、それらは、1つ以上のホワイトリストを作成するために図7の前述のプロセスにおいて使用される。デバイス固有のコマンド発見モジュール602はまた、任意選択的に、それが発見した読み取りコマンドタイプのみを返すことができる。
より詳細な例として、ステップ802において、デバイス固有のコマンド発見モジュール602は、関連するデバイスの関連するデバイス固有のコマンドタイプについて、図1の構成データベース21に対して要求を発行する。この実施形態では、デバイス固有のコマンドタイプは、デバイス記述からすでに解析され、構成データベースに記憶されている。所望される場合、デバイス固有のコマンド発見モジュール602は、代替的に、デバイス固有の読み取りコマンドのみを要求することができ、これもまた、構成データベース21において解析および記憶される。別の実施形態では、デバイス固有のコマンド発見モジュール602は、関連するデバイスに対するデバイス記述を(例えば、構成データベースにまたはフィールドデバイス自体に)要求し、この情報を直接処理することができる。例えば、デバイス固有のコマンド発見モジュール602は、構成データベースにデバイス記述を要求し、次に、デバイス記述を解析し、ユニバーサル、一般的な慣行、およびデバイス固有のタイプのHARTコマンドを含む、デバイスがサポートするすべてのコマンドを抽出することができる。この実施形態では、デバイス固有のコマンド発見モジュール602はまた、コマンドをさらに解析して、(任意のタイプの)どのデバイスコマンドが読み取り専用コマンドであるかを発見することができる。
ターゲットデバイスに基づいて、要求するユニバーサル、一般的な慣行、およびデバイス固有のコマンドを含むデバイスコマンドの完全なセットを判定することは、図2に部分的に示されている、構成アプリケーション82によって実装され、ネットワーク22を介して図1の構成データベース21に記憶される構成情報を検索することができる構成情報モジュール605を使用することによって達成することができる。構成情報は、代替的または追加的に、構成情報モジュール605をホストするデバイス16にローカルに記憶され得る。例えば、ホワイトリスト構成アプリケーション80のユーザは、プロセスコントローラのために新しいホワイトリストを構築することを意図し得る。システムは、ユーザが、ユーザディスプレイインターフェース620におけるオプションとして、図2からCTLR1を選択することを可能にすることができる。次に、デバイス固有のコマンド発見モジュール602は、構成情報モジュール605に基づいて、CTLR1が例えばC01〜C04、C06〜C09を制御することを判定することができる。次に、構成情報モジュール605は、一実施形態では、前述の要求を図1の構成データベース21に発行して、これらのカードに接続された各フィールドデバイスのデバイス固有のコマンドタイプを検索し、それらを処理ユニットに提示することができる。別の実施形態では、デバイス固有のコマンド発見モジュール602は、I/OカードC01〜C04およびC06〜C09に直接接続されているフィールドデバイスのデバイス記述を読み取るために読み取りコマンドを発行することができる。次に、モジュール602は、これらのデバイス記述を解析し、これらのフィールドデバイスの各々の様々な異なるユニバーサル、一般的な慣習、およびデバイス固有のコマンドタイプを含む、これらのデバイスによってサポートされるコマンドタイプのリストをコンパイルし、これらのコマンドタイプを処理ユニットに提示することができる。次に、アプリケーション80は、提案されたホワイトリストの追加として、これらのコマンドタイプをユーザに提案することができる。代替的に、アプリケーション80は、デバイスがサポートする読み取りコマンド、または1つ以上のホワイトリストの作成もしくは追加のみを提示することができる。コマンドタイプが読み取りコマンドタイプであるかどうかの判定は、フィールドデバイスの構成中にすでに行われている場合がある。したがって、読み取りコマンドは、構成データベース21にデバイス読み取りコマンドのみを照会することによって検索できる。(デバイスコマンドおよびデバイスコマンドタイプという句は、本明細書では互換的に使用されることに留意されたい。)別の実施形態では、アプリケーション80は、デバイスコマンドの完全なリストを解析して、どのコマンドが読み取りコマンドであるかを判定することができる。これは、例えば、コマンドの「動作」タグが「読み取り」であることをチェックすることによって実行できる。デバイス固有のコマンド発見モジュール602は、追加的または代替的に、当業者に知られている任意のキャッシング方法を使用して、構成データベース情報の一部をローカルに記憶することができる。デバイス固有のコマンド発見モジュール602は、デバイスインストールユーティリティと連動して、協調して、または一緒に動作することができる。
図9Aは、ユーザが図6および図7のホワイトリスト構成アプリケーション80の認証ステップを実行することを可能にするユーザインターフェースを示す単純な表示画面900を示す。この実施形態では、システムは、ユーザがユーザ名901およびパスワード902を入力することを要求する。これらの資格情報は、プロセスプラント10内の他の認証されたシステムから引き出され得るか、またはホワイトリスト構成アプリケーション80に固有である可能性がある。資格情報は、所望に応じて、システム管理者、オペレータもしくは専門家によって、または別のアプリケーションを介した個々のユーザによってさらに決定される場合がある。
図9Bは、ユーザがプロセスプラント10内の安全論理ソルバ50〜56および/またはプロセスコントローラ24もしくは26のためのホワイトリスト実行アプリケーション320を構築、編集および構成することを可能にするために使用され得る例示的なユーザインターフェースを示す別の表示画面905を示す。特に、表示画面920の左側は、既存のホワイトリストの編集または新しいホワイトリストの作成および構成に関連付けられ、それらを実行するために使用することができ、一方、表示画面910の右側は、既存のホワイトリスト構成911および912の表示に関連付けられる。例えば、フィールドまたはセクション911は、セキュリティゲートウェイデバイスSLS1の現在の構成を、デバイスSLS1の高セキュリティレベルで使用するためのホワイトリストAと、デバイスSLS1の中セキュリティ設定で使用するためのホワイトリストCを含むものとして示している。さらに、ホワイトリストAには、4つの有効または許可された読み取りコマンドまたはコマンドタイプが含まれ、暗号化が指定される。一方、ホワイトリストCには、5つの有効または許可された読み取りコマンドまたはコマンドタイプが含まれ、同じく暗号化が指定される。またさらに、フィールドまたはセクション912は、高セキュリティ設定と低セキュリティ設定の両方で、すべてのプロセス制御デバイス(例えば、プロセスコントローラ)に対して構成されたホワイトリストを示している。
一般的に述べると、画面920の左側のフィールド921の第1のセットは、1つ以上のホワイトリストまたはホワイトリスト実行アプリケーション80を含むように構成され得るホワイトリスト実装デバイス927を表すか、またはリストする。これらのデバイス927は、安全論理ソルバ50〜56および/またはプロセスコントローラ24もしくは26のいずれか、あるいはプラント内の他のセキュリティゲートウェイデバイスまたはノードのいずれかを含み得る。ユーザは、デバイス927のうちの1つを選択して、そのデバイス上で構成を実行するか、またはそのデバイスのための1つ以上のホワイトリストを作成することができる。すでに説明した認証手順により、特定のユーザに、特定のグレー表示されたホワイトリスト実装デバイス927が表示され、これらのホワイトリスト実装デバイス927のホワイトリスト構成を読み書きするためのアクセス権限がユーザにないことを示し得る。
フィールド922の第2のセットは、選択されたデバイス927のセキュリティレベルを表す。ユーザは、フィールド922において様々な異なるセキュリティレベルのうちの1つを選択して、特定の選択されたデバイス927のセキュリティ設定ごとに異なるホワイトリストを構成または作成することができる。フィールド923内のコマンドまたは入力のセットは、選択されたセキュリティレベルで選択されたデバイスに対する1つ以上のホワイトリストを構築するためにユーザによって使用され得る。フィールド923は、ユーザが、入力926においてデバイスに対する新しいホワイトリストを構築するために使用する既存のホワイトリスト、または使用する既存のデバイスコマンドを指定することを許可し得る。追加的または代わりに、フィールド928は、例えば、図6の発見モジュール602の動作によって識別された、発見されたデバイスコマンドタイプのセット(例えば、より一般的には、一般的な慣行のデバイスコマンドタイプ928aおよびデバイス固有のコマンドタイプ928bを含む)を表示し得る。この場合、ユーザは、同じくまたは追加的に、コマンドタイプの横にあるチェックボックスを選択することにより、発見されたコマンドタイプの個々のコマンドを選択してホワイトリストに含めることができる。
このようにして、上記のように、構成アプリケーション80は、図3Bのホワイトリスト構成情報モジュール607を使用して既存のホワイトリスト構成から値を読み取り、システムが、(それらのコマンドを使用する様々な特定のフィールドデバイスに接続されるかまたはそれらと通信する)特定のゲートウェイデバイス927をユーザが選択したことを確認したとき、この情報をユーザに提示することができる。ユーザが、ディスプレイ920の左側からプロセスコントローラまたは安全論理ソルバのうちの1つ以上を選択すると、すでに構成されているセキュリティレベルおよび対応するホワイトリストが、ユーザに対して編集のために利用可能になる。一実施形態では、ホワイトリストは、それらの隣にチェックボックスがある(すなわち、それらは事前に選択されている)コマンドタイプのリストとして現れ、システムは、ユーザが新しいコマンドをタイプ選択または入力することによって、既存のホワイトリストに新しいコマンドタイプを追加できるようにする。さらに、システムは、表示画面の左側において事前に選択されたコマンドタイプの選択を解除することにより、ユーザがホワイトリストからコマンドタイプを削除できるようにする。別の実施形態では、右側のパネル910上の既存のホワイトリスト構成は、ポップアップ表示画面を使用して編集することを可能にする編集ボタンを提供することができる。
同様の方法で、アプリケーション80は、ユーザが、表示画面920の左側を使用して、新しいまたは既存のホワイトリスト構成に値を書き込むことを可能にし得る。特に、システムは、ユーザが所望のホワイトリスト実装デバイス927を選択することを可能にし得る。これらの値は、プロセスコントローラ、安全論理ソルバまたは他のセキュリティゲートウェイデバイスを指定する場合がある。次に、アプリケーション80は、ユーザがセキュリティレベル922を選択することを可能にし得る。セキュリティレベルは、例えば、低、中、高の形式にすることも、他の方法で指定することもできる。セキュリティレベルは、保護されている、保護されていないなどのバイナリ形式にすることも、任意の他の所望の形式にすることもできる。次に、ユーザは、フィールド923を使用して、所与のセキュリティレベルで選択されたデバイスに割り当てられるホワイトリストを判定する。実施形態に応じて、ユーザは、選択する関連デバイス固有および/または一般的な慣行のコマンドタイプのリスト928を提示され得るか、またはアプリケーション80は、発見されたコマンドタイプ提案を提示されることなく、ユーザがコマンドタイプを入力することを可能にし得る。アプリケーション80はまた、フィールド924を介して、ユーザが、意図された宛先にセキュアに到着するように構成情報を暗号化することを選択することを可能にし得る。構成するデバイス(フィールド921)、構成するデバイスのセキュリティレベル(フィールド922)、構成するデバイスに使用するホワイトリストの詳細(フィールド923)、およびホワイトリストの暗号化ステータス(フィールド926)を指定すると、ユーザは、送信ボタン925を選択して、アプリケーション80に、作成されるホワイトリストを生成させ、本明細書で説明するホワイトリストおよびホワイトリスト実行アプリケーションを使用してプロセスプラント10内で高度なセキュリティ操作を実行するために使用される目的のセキュリティゲートウェイデバイス927にそのホワイトリストをダウンロードさせることができる。
当然のことながら、画面表示905は、ユーザが一度に単一のセキュリティゲートウェイデバイスを構成することを可能にするが、アプリケーション80に関連付けられたユーザインターフェースは、ホワイトリスト実装デバイスの代わりにまたはそれに加えて、個々のフィールドデバイス40、42、60、および/または62の選択を可能にし得る。アプリケーション80のユーザインターフェースは、個々のフィールドデバイスおよび/またはホワイトリスト実装デバイスの代わりにまたはそれに加えて、フィールドデバイスタイプの選択をさらに可能にし得、セキュリティゲートウェイデバイスのセット(プラントの特定の領域内にあるすべてのプロセスコントローラ、すべての安全システム論理ソルバなど)の構成が、同じ構成情報またはホワイトリストを用いて構成されることを可能にし得る。
上記のシステムおよび方法は、プロセスが様々なフィールドデバイスを含む状況に適している可能性があることが強調される。説明した方法とシステムを使用すると、一般的な慣行の非読み取りコマンドおよび/またはデバイス固有の非読み取りコマンドのブロッキングと組み合わせて使用できる範囲で、すべての非ユニバーサル非読み取りコマンドの粗粒度のブロッキングは不要であり、重要な情報の受け渡しを可能にすると同時に、ワークステーション、プロセスコントローラ、安全論理ソルバ、I/Oデバイス、およびそれらの関連するフィールドデバイスの間で適切なレベルのサイバーセキュリティをも提供する、はるかによりきめ細かいブロッキング方法が生成される。
一般的に述べると、本明細書における「安全論理ソルバ」という用語のいかなる使用も、プロセスコントローラと交換可能に使用され得、逆もまた同様であり、または任意の他の所望のプロセスプラントデバイスと交換可能に使用され得る。さらに、本明細書における「読み取りコマンド」または「読み取りメッセージ」という用語のいかなる使用も、「書き込みコマンド」または「書き込みメッセージ」または任意の他の適切なHARTコマンド分類と交換可能に使用することができ、逆もまた同様である。またさらに、デバイス固有のHARTコマンドという用語のいかなる使用も、一般的な慣行のHARTコマンドと交換可能に使用することができ、その逆も可能である。最後に、本明細書におけるHART通信プロトコルのいかなる言及も、別の所望の通信プロトコルと交換可能に使用することができる。
さらに、「フィールドデバイス」という用語は、本明細書では広い意味で使用され、いくつかのデバイスまたはデバイスの組み合わせ(すなわち、送信機/アクチュエータハイブリッドなどの複数の機能を提供するデバイス)、ならびに制御システム内の機能を実行する任意の他のデバイスを含む。いずれにせよ、フィールドデバイスは、例えば、入力デバイス(例えば、例えば温度、圧力、流量などのプロセス制御パラメータを示すステータス、測定値または他の信号を提供するセンサおよび機器などのデバイス)、ならびにコントローラおよび/または他のフィールドデバイスから受信されたコマンドに応答してアクションを実行する制御オペレータまたはアクチュエータを含み得る。
実装される場合、本明細書に記載のソフトウェアのいずれも、磁気ディスク、レーザディスク、または他の記憶媒体上の、コンピュータまたはプロセッサなどのRAMまたはROM内などの、任意のコンピュータ可読メモリに記憶することができる。同様に、このソフトウェアは、例えば、コンピュータ可読ディスクまたは他の可搬型コンピュータ記憶機構上で、または電話回線、インターネット、ワールドワイドウェブ、任意の他のローカルエリアネットワークもしくはワイドエリアネットワークなどの通信チャネルを介して、を含む、任意の既知または所望の配信方法を使用して、ユーザ、プロセスプラントまたはオペレータワークステーションに配信することができる(これらの配信は、可搬型記憶媒体を介してそのようなソフトウェアを提供することと同じであるかまたは互換性があると見なされる)。さらに、このソフトウェアは、変調または暗号化なしで直接提供され得るか、あるいは通信チャネルを介して送信される前に、任意の適切な変調搬送波および/または暗号化技術を使用して変調および/または暗号化され得る。
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。
Claims (88)
- プロセスプラントにおいてセキュリティを提供するコンピュータ実装方法であって、前記方法は、前記プロセスプラントに関連付けられたデバイスに含まれ、前記方法を実行するようにプログラムされた1つ以上のプロセッサによって実行され、前記方法は、
プロセス制御通信プロトコルに対するコマンドタイプのホワイトリストを記憶することと、
通信インターフェースを介して、前記デバイスにおいてメッセージを受信することであって、前記メッセージは、前記プロセス制御通信プロトコルに準拠する、受信することと、
前記メッセージからコマンドタイプを抽出することと、
前記プロセス制御通信プロトコルに対するコマンドタイプの前記記憶されたホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることと、
前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対する前記コマンドタイプの前記ホワイトリストに含まれている場合には、前記メッセージを許可し、かつ前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストに含まれていない場合には、前記メッセージを許可しないことと、を含む、方法。 - 前記メッセージを受信することは、前記プロセスプラント内のプロセス制御システムに関連付けられたプロセスコントローラにおいて、前記メッセージを受信することを含み、前記プロセスコントローラは、1つ以上のプロセス制御フィールドデバイスに通信可能に結合され、前記プロセスプラントに関する制御機能を実行する、請求項1に記載の方法。
- 前記メッセージを許可することは、前記プロセスコントローラが、通信リンクを介して前記メッセージを1つ以上の前記プロセス制御フィールドデバイスに転送することを可能にすることを含む、請求項2に記載の方法。
- 前記メッセージを許可することは、前記プロセスコントローラ内の1つ以上の論理モジュールが、前記メッセージを処理することを可能にすることを含む、請求項2に記載の方法。
- 前記メッセージを受信することは、前記プロセスプラント内のプロセス制御システムに関連付けられた安全論理ソルバにおいて前記メッセージを受信することを含み、前記安全論理ソルバは、1つ以上の安全フィールドデバイスに通信可能に結合され、前記プロセスプラントに関する安全制御機能を実行する、請求項1に記載の方法。
- 前記メッセージを許可することは、前記安全論理ソルバが、通信リンクを介して、前記メッセージを1つ以上の前記安全フィールドデバイスに転送することを可能にすることを含む、請求項5に記載の方法。
- 前記メッセージを許可することは、前記安全論理ソルバ内の1つ以上の論理モジュールが、前記メッセージを処理することを可能にすることを含む、請求項5に記載の方法。
- 前記メッセージを許可しないことは、通信ネットワークを介して、前記メッセージがアドレス指定される別のデバイスに前記メッセージを転送しないことを含む、請求項1に記載の方法。
- 前記メッセージを許可しないことは、前記メッセージが許可されなかったという通知を、通信ネットワークを介して送信することを含む、請求項1に記載の方法。
- 前記通知を送信することは、前記メッセージが許可されなかったことをプラントオペレータ、保守要員、および構成エンジニアのうちの1人以上に通知することを含む、請求項9に記載の方法。
- 前記プロセス制御通信プロトコルは、ハイウェイアドレス可能リモート送信機(HART)通信プロトコルであり、通信インターフェースを介して、前記デバイスにおいて前記メッセージを受信することは、前記通信インターフェースにおいて、HARTプロトコルメッセージを受信することを含み、コマンドタイプの前記ホワイトリストを記憶することは、前記HART通信プロトコルに関連付けられたコマンドタイプのホワイトリストを記憶することを含み、コマンドタイプの前記ホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることは、HART通信プロトコルコマンドタイプの前記ホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることを含む、請求項1に記載の方法。
- HART通信プロトコルコマンドタイプの前記ホワイトリストは、デバイス固有の読み取りコマンドおよび一般的な慣行の読み取りコマンドのうちの1つ以上を含む、請求項11に記載の方法。
- 前記プロセス制御通信プロトコルに対するコマンドタイプの複数のホワイトリストを記憶することをさらに含み、前記プロセス制御通信プロトコルに対するコマンドタイプのホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることは、前記抽出されたコマンドタイプを比較する際に使用するためのコマンドタイプの前記ホワイトリストとして、前記プロセス制御通信プロトコルに対するコマンドタイプの前記記憶されたホワイトリストのうちの1つを選択することを含む、請求項1に記載の方法。
- 前記記憶されたホワイトリストのうちの1つを選択することは、前記プロセスプラントに関連付けられた前記デバイスに関連付けられたセキュリティレベルに基づいて、前記記憶されたホワイトリストのうちの前記1つを選択することを含む、請求項13に記載の方法。
- 前記プロセスプラントに関連付けられた前記デバイスのハードウェアセキュリティ設定を判定することによって、前記プロセスプラントに関連付けられた前記デバイスに関連付けられた前記セキュリティレベルを判定することをさらに含む、請求項14に記載の方法。
- 前記プロセスプラントに関連付けられた前記デバイスのソフトウェアに記憶されたセキュリティ設定を判定することによって、前記プロセスプラントに関連付けられた前記デバイスに関連付けられた前記セキュリティレベルを判定することをさらに含む、請求項14に記載の方法。
- 前記メッセージを受信することは、プロセス制御システムに関連付けられたゲートウェイデバイスにおいて前記メッセージを受信することを含み、プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストを記憶することは、前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストを前記ゲートウェイデバイスに記憶することを含み、前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対する前記コマンドタイプの前記ホワイトリストに含まれている場合に前記メッセージを許可することは、前記ゲートウェイデバイスが前記メッセージを処理し前記メッセージに作用することを許可することを含み、前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストに含まれていない場合に前記メッセージを許可しないことは、前記ゲートウェイデバイスが前記メッセージを処理し前記メッセージに作用することを許可しないことを含む、請求項1に記載の方法。
- 前記メッセージを受信することは、プロセスコントローラデバイスと、前記プロセスプラント内のプロセス制御システムに関連付けられた1つ以上のフィールドデバイスとの間で結合された入力/出力デバイスにおいて前記メッセージを受信することを含み、プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストを記憶することは、前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストを前記入力/出力デバイスに記憶することを含み、前記抽出されたコマンドタイプが前記プロセス制御通信に対する前記コマンドタイプの前記ホワイトリストに含まれている場合に前記メッセージを許可することは、前記メッセージがアドレス指定される別のデバイスに前記メッセージを転送することを含み、前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストに含まれていない場合に前記メッセージを許可しないことは、前記メッセージがアドレス指定される別のデバイスに前記メッセージを転送しないことを含む、請求項1に記載の方法。
- プロセス制御デバイスであって、
メモリと、
前記メモリに記憶されているプロセス制御通信プロトコルに対するコマンドタイプのホワイトリストと、
外部通信ネットワークに結合されるように適合された通信インターフェースと、
前記通信インターフェースに結合されたプロセッサと、
ホワイトリストルーチンであって、前記メモリに記憶されており、かつ
特定のプロセス制御通信プロトコルの前記通信インターフェースにおいて、前記外部通信ネットワークから受信されたメッセージからコマンドタイプを抽出することと、
前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることと、
前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対する前記コマンドタイプの前記ホワイトリストに含まれている場合には、前記メッセージを許可し、かつ前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記ホワイトリストに含まれていない場合には、前記メッセージを許可しないことと、を行うために、前記プロセッサで実行されるように適合されている、ホワイトリストルーチンと、を含む、プロセス制御デバイス。 - プロセス制御デバイスは、1つ以上のプロセス制御フィールドデバイスに通信可能に結合され、プロセスプラントに関する制御機能を実行するプロセスコントローラである、請求項19に記載のプロセス制御デバイス。
- プロセス制御デバイスは、1つ以上の安全関連プロセス制御フィールドデバイスに通信可能に結合され、プロセスプラントに関する安全関連制御機能を実行する安全論理ソルバである、請求項19に記載のプロセス制御デバイス。
- プロセス制御デバイスは、プロセスコントローラとプロセスプラント内のフィールドデバイスとの間で通信可能に結合された入力/出力デバイスである、請求項19に記載のプロセス制御デバイス。
- 前記プロセス制御デバイスは、前記プロセスプラント内の2つのプロセス制御通信ネットワーク間に結合されたゲートウェイデバイスである、請求項19に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、通信ネットワークを介して前記メッセージがアドレス指定される1つ以上の他のデバイスに前記メッセージを転送することによって前記メッセージを許可し、任意の通信ネットワークを介して前記メッセージがアドレス指定される1つ以上の他のデバイスに前記メッセージを転送しないことによって前記メッセージを許可しない、請求項19に記載のプロセス制御デバイス。
- 前記メモリに記憶された1つ以上の論理モジュールをさらに含み、前記ホワイトリストルーチンは、前記1つ以上の論理モジュールが前記メッセージを処理するために前記プロセッサ上で実行することを可能にすることによって前記メッセージを許可し、前記1つ以上の論理モジュールが前記メッセージを処理するために前記プロセッサ上で実行することを許可にしないことによって前記メッセージを許可しない、請求項19に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、前記メッセージが許可されていない場合に前記メッセージが許可されなかったという通知を前記外部通信ネットワークを介して送信する、請求項19に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、前記メッセージが許可されなかったという前記通知を、プラントオペレータ、保守要員、および構成エンジニアのうちの1人以上に送信する、請求項26に記載のプロセス制御デバイス。
- 前記プロセス制御通信プロトコルは、ハイウェイアドレス可能リモート送信機(HART)通信プロトコルである、請求項19に記載のプロセス制御デバイス。
- HART通信プロトコルコマンドタイプの前記ホワイトリストは、デバイス固有の読み取りコマンドおよび一般的な慣行の読み取りコマンドのうちの1つ以上を含む、請求項28に記載のプロセス制御デバイス。
- 前記メモリに記憶された前記プロセス制御通信プロトコルに対するコマンドタイプの複数の異なるホワイトリストをさらに含み、前記ホワイトリストルーチンは、前記抽出されたコマンドタイプをチェックするために使用する前記ホワイトリストとして、前記プロセス制御通信プロトコルに対するコマンドタイプの前記記憶されたホワイトリストのうちの1つをさらに選択する、請求項19に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、前記プロセス制御デバイスに関連付けられたセキュリティレベルに基づいて、使用する前記ホワイトリストとして、前記記憶されたホワイトリストのうちの前記1つを選択する、請求項30に記載のプロセス制御デバイス。
- プロセスプラント通信ネットワークにおいてセキュリティを実行するコンピュータ実装方法であって、前記方法は、前記通信ネットワークに結合された通信インターフェースを有するデバイスに含まれ、前記方法を実行するようにプログラムされた1つ以上のプロセッサによって実行され、前記方法は、
第1の時間に、前記デバイスを学習状態にすることであって、前記デバイスが前記学習状態にあるとき、前記方法は、
前記通信インターフェースにおいて、前記通信ネットワークを介して、1つ以上のメッセージを受信することであって、前記1つ以上のメッセージの各々は、特定のプロセス制御通信プロトコルに準拠する、受信することと、
前記1つ以上のメッセージの各々から前記特定のプロセス制御通信プロトコルに関連付けられたコマンドタイプを抽出することと、
前記抽出された1つ以上のコマンドタイプを1つ以上のホワイトリストに記憶することと、
前記1つ以上のホワイトリストを前記デバイスに記憶することと、を含む、学習状態にすることと、
第2の時間に、前記デバイスをロック状態にすることであって、前記デバイスが前記ロック状態にあるとき、前記方法は、
前記通信インターフェースにおいて、前記通信ネットワークを介して、1つ以上のメッセージを受信することであって、前記1つ以上のメッセージの各々は、前記特定のプロセス制御通信プロトコルに準拠する、受信することと、
前記1つ以上の記憶されたホワイトリストのうちの1つを使用して、前記通信インターフェースにおいて、前記通信ネットワークを介して受信された前記1つ以上のメッセージの各々に対してホワイトリスト操作を実行することと、を含む、ロック状態にすることと、を含む、方法。 - 前記抽出された1つ以上のコマンドタイプを前記1つ以上のホワイトリストに記憶することは、前記デバイスのセキュリティ設定に基づいて、前記抽出された1つ以上のコマンドタイプを前記1つ以上のホワイトリストのうちの特定の1つに記憶することを含む、請求項32に記載の方法。
- 前記セキュリティ設定は、ハードウェアベースのセキュリティ設定である、請求項33に記載の方法。
- 前記デバイスが前記ロック状態にあるとき、前記通信インターフェースにおいて前記通信ネットワークを介して受信された前記1つ以上のメッセージの各々に対してホワイトリスト操作を実行することは、
前記1つ以上のメッセージの各々からコマンドタイプを抽出することと、
前記プロセス制御通信プロトコルに対するコマンドタイプの前記1つ以上の記憶されたホワイトリストのうちの1つに対して、前記抽出されたコマンドタイプをチェックすることと、
前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対する前記コマンドタイプの前記1つ以上のホワイトリストのうちの前記1つに含まれている場合に前記メッセージを許可し、かつ前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記1つ以上のホワイトリストのうちの前記1つに含まれていない場合に前記メッセージを許可しないことと、を含む、請求項32に記載の方法。 - 前記メッセージを許可することは、外部通信リンクを介して、前記メッセージがアドレス指定される別のプロセス制御デバイスに前記メッセージを転送することを含む、請求項35に記載の方法。
- 前記メッセージを許可することは、前記デバイス内の1つ以上の論理モジュールが前記メッセージを処理することを可能にすることを含む、請求項35に記載の方法。
- 前記メッセージを許可しないことは、前記メッセージがアドレス指定される別のデバイスに外部通信リンクを介して前記メッセージを転送しないことを含む、請求項35に記載の方法。
- 前記メッセージを許可しないことは、前記メッセージが許可されなかったという通知を前記通信ネットワークを介して送信することをさらに含む、請求項35に記載の方法。
- 前記1つ以上のメッセージの各々から前記特定のプロセス制御通信プロトコルに関連付けられたコマンドタイプを抽出することは、デバイス固有の読み取りコマンドタイプおよび一般的な慣行の読み取りコマンドタイプのうちの1つ以上を抽出することを含む、請求項32に記載の方法。
- 前記特定のプロセス制御通信プロトコルは、ハイウェイアドレス可能リモート送信機(HART)プロトコルである、請求項32に記載の方法。
- 前記デバイスが前記学習状態にあるときの前記第1の時間中に、前記デバイスに前記学習状態を終了するように指示するメッセージを受信することと、前記デバイスに前記学習状態を終了するように指示する前記メッセージを受信したことに応答して、前記ロック状態で使用する前記デバイスに前記1つ以上のホワイトリストを記憶することとをさらに含む、請求項32に記載の方法。
- プロセス制御デバイスであって、
コンピュータ可読メモリと、
外部通信ネットワークに結合されるように適合された通信インターフェースと、
前記通信インターフェースに結合されたプロセッサと、
前記コンピュータ可読メモリに記憶され、前記プロセッサ上で実行されて学習状態またはロック状態のいずれかで動作するように適合されたホワイトリストルーチンであって、前記ホワイトリストルーチンが前記学習状態で動作する場合、前記ホワイトリストルーチンは、
前記通信インターフェースを介して、前記外部通信ネットワークから1つ以上のメッセージを受信することであって、前記1つ以上のメッセージの各々は、特定のプロセス制御通信プロトコルに準拠する、受信することと、
前記1つ以上のメッセージの各々から前記特定のプロセス制御通信プロトコルに関連付けられたコマンドタイプを抽出することと、
前記抽出された1つ以上のコマンドタイプをホワイトリストのセットの少なくとも1つに記憶することと、を行い、
前記ホワイトリストルーチンが前記ロック状態で動作する場合、前記ホワイトリストルーチンは、
前記通信インターフェースを介して、前記外部通信ネットワークから1つ以上のメッセージを受信することであって、前記1つ以上のメッセージの各々は、前記特定のプロセス制御通信プロトコルに準拠する、受信することと、
ホワイトリストの前記セットのうちの1つを使用して、前記通信インターフェースにおいて前記通信ネットワークを介して受信されたメッセージに対してホワイトリスト操作を実行することと、を行う、ホワイトリストルーチンと、を含むプロセス制御デバイス。 - 前記ホワイトリストルーチンが前記学習状態にあるときの前記デバイスのセキュリティ設定に基づいて、前記抽出された1つ以上のコマンドタイプをホワイトリストの前記セットのうちの特定の1つに記憶することをさらに含む、請求項43に記載のプロセス制御デバイス。
- 通信に適用するセキュリティのレベルを示すハードウェア構成可能なセキュリティ設定をさらに含む、請求項44に記載のプロセス制御デバイス。
- 通信に適用するセキュリティのレベルを示すソフトウェア構成可能なセキュリティ設定をさらに含む、請求項44に記載のプロセス制御デバイス。
- 前記学習状態を終了するためのコマンドを前記外部通信ネットワークを介して受信すると、前記学習状態で使用するためにホワイトリストの前記セットを前記メモリに記憶することをさらに含む、請求項43に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、前記ロック状態で、
前記1つ以上のメッセージの各々からコマンドタイプを抽出することと、
ホワイトリストの前記セットのうちの1つに対して、前記抽出されたコマンドタイプをチェックすることと、
前記抽出されたコマンドタイプがホワイトリストの前記セットのうちの前記1つに含まれている場合にメッセージを許可し、かつ前記抽出されたコマンドタイプがホワイトリストの前記セットのうちの前記1つに含まれていない場合に前記メッセージを許可しないことと、を行うことによって、前記外部通信ネットワークを介して前記通信インターフェースにおいて受信された前記1つ以上のメッセージの各々に対してホワイトリスト操作を実行する、請求項43に記載のプロセス制御デバイス。 - ホワイトリストルーチンは、メッセージを、前記メッセージがアドレス指定される別のプロセス制御デバイスに通信リンクを介して前記メッセージを転送することによって許可する、請求項48に記載のプロセス制御デバイス。
- 前記コンピュータメモリに記憶され、前記プロセッサ上で実行可能で機能を実行する1つ以上の論理モジュールをさらに含み、前記ホワイトリストルーチンは、前記プロセス制御デバイス内の前記1つ以上の論理モジュールが、前記メッセージを処理することと、前記メッセージに基づいて機能を実行することとを可能にすることによって前記メッセージを許可する、請求項48に記載のプロセス制御デバイス。
- 前記ホワイトリストルーチンは、前記メッセージがアドレス指定される別のデバイスに通信リンクを介して前記メッセージを転送しないことによって前記メッセージを許可しない、請求項48に記載のプロセス制御デバイス。
- 前記コンピュータ可読メモリに記憶され、前記プロセッサ上で実行可能で機能を実行する1つ以上の論理モジュールをさらに含み、前記ホワイトリストルーチンは、前記プロセス制御デバイス内の前記1つ以上の論理モジュールが、前記メッセージを処理することと、前記メッセージに基づいて機能を実行することとを防止することによって前記メッセージを許可しない、請求項48に記載のプロセス制御デバイス。
- 前記特定のプロセス制御通信プロトコルは、ハイウェイアドレス可能リモート送信機(HART)プロトコルである、請求項43に記載のプロセス制御デバイス。
- 1つ以上の制御デバイスに通信可能に結合された1つ以上のフィールドデバイスを有するプロセスプラントに関連付けられたプロセス制御システムにおいて通信を構成するための構成システムであって、前記構成システムは、
コンピュータ可読メモリに記憶され、プロセッサ上で実行されて、前記プロセスプラント内の前記1つ以上のフィールドデバイスの構成に関連付けられた構成情報を取得するように適合された第1のルーチンであって、前記構成情報は、少なくとも部分的に、特定のプロセス制御通信プロトコルに対するコマンドタイプに関連付けられた、第1のルーチンと、
コンピュータ可読メモリに記憶され、プロセッサ上で実行されて、ユーザインターフェースを介してユーザに前記構成情報を提示するように適合された第2のルーチンと、
コンピュータ可読メモリに記憶され、プロセッサ上で実行されて、前記ユーザが、前記特定のプロセス制御通信プロトコルに対するコマンドタイプのリストを含む少なくとも1つのホワイトリストの内容を指定することを可能にするように適合された第3のルーチンと、
コンピュータ可読メモリに記憶され、プロセッサ上で実行されて、前記少なくとも1つのホワイトリストを制御デバイスに送信して、前記制御デバイスにおいて受信された前記特定のプロセス制御通信プロトコルを使用する通信に前記ホワイトリストを実装するように前記制御デバイスを構成するように適合された第4のルーチンと、を備える、構成システム。 - 前記第1のルーチンは、前記1つ以上のフィールドデバイスの前記制御デバイスへの通信接続に関連付けられた情報を含む構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、前記1つ以上のフィールドデバイスの各々によってサポートされる前記特定のプロセス制御通信プロトコルに対する1つ以上のコマンドタイプを含む構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、前記1つ以上のフィールドデバイスの各々によってサポートされる前記特定のプロセス制御通信プロトコルの1つ以上の読み取りコマンドタイプを指定する構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、前記1つ以上のフィールドデバイスのうちの少なくとも1つのデバイス記述を解析して、前記1つ以上のフィールドデバイスのうちの前記少なくとも1つによってサポートされる前記特定のプロセス制御通信プロトコルに対する1つ以上のコマンドタイプを判定する発見ルーチンを含む、請求項54に記載の構成システム。
- 前記第1のルーチンは、ユーザ入力デバイスを介してユーザから前記構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、構成データベースから前記構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、前記プロセス制御システム内の前記1つ以上のフィールドデバイスのうちの1つから前記構成情報を取得する、請求項54に記載の構成システム。
- 前記第3のルーチンは、前記ホワイトリストが適用されるセキュリティレベルをユーザが指定することを可能にする、請求項54に記載の構成システム。
- 前記第3のルーチンは、ユーザが前記少なくとも1つのホワイトリストからコマンドタイプを追加および削除することを可能にする、請求項54に記載の構成システム。
- 前記第3のルーチンは、ユーザが前記制御デバイスのための複数の異なるホワイトリストを作成することを可能にし、前記複数の異なるホワイトリストの各々は、前記制御デバイスの異なるセキュリティ設定に関連付けられる、請求項54に記載の構成システム。
- 前記第4のルーチンは、ホワイトリスト実装ルーチンを前記制御デバイスにダウンロードし、前記ホワイトリスト実装ルーチンは、前記制御デバイスに提供されるホワイトリストを使用して前記制御デバイスにおいてメッセージを許可または拒否するように構成される、請求項54に記載の構成システム。
- 前記制御デバイスは、前記1つ以上のフィールドデバイスを使用してプロセス制御機能を実行するプロセスコントローラである、請求項54に記載の構成システム。
- 前記制御デバイスは、前記1つ以上のフィールドデバイスを使用して安全制御機能を実行する安全コントローラである、請求項54に記載の構成システム。
- 前記制御デバイスは、前記プロセス制御システム内の2つの異なる通信ネットワーク間で結合されたゲートウェイまたは入力/出力デバイスである、請求項54に記載の構成システム。
- 前記第3のルーチンは、ユーザが、ホワイトリストを作成するための複数の制御デバイスのうちの1つを選択することを可能にする、請求項54に記載の構成システム。
- 前記第1のルーチンは、前記選択された制御デバイスに接続された前記フィールドデバイスを示す構成情報を取得する、請求項69に記載の構成システム。
- 前記第1のルーチンは、一般的な慣行のコマンドタイプとして定義された特定のコマンドタイプを示す構成情報を取得する、請求項54に記載の構成システム。
- 前記第1のルーチンは、デバイス固有のコマンドタイプとして定義された特定のコマンドタイプを示す構成情報を取得する、請求項54に記載の構成システム。
- 前記第3のルーチンは、ユーザが、前記制御デバイスに記憶された1つ以上のホワイトリストを閲覧および変更することを可能にする、請求項54に記載の構成システム。
- 前記第3のルーチンは、ユーザが、同じホワイトリストを複数の異なる制御デバイスに適用することを可能にする、請求項54に記載の構成システム。
- プロセスプラント内のプロセスの操作を制御する際に使用するためのプロセス制御システムであって、
前記プロセスプラントの前記プロセス内で物理的機能を実行する複数のフィールドデバイスと、
1つ以上の通信ネットワークを介して前記複数のフィールドデバイスに結合された1つ以上の制御デバイスであって、前記制御デバイスのうちの少なくとも1つは、プロセッサと、前記プロセッサ上で実行されて、前記制御デバイスにおいて受信されたメッセージに対してホワイトリストフィルタリング動作を実装する通信アプリケーションとを含む、1つ以上の制御デバイスと、
前記1つ以上の制御デバイスに通信可能に結合された構成システムであって、前記構成システムは、プロセッサと、コンピュータ可読メモリと、前記コンピュータ可読メモリに記憶され、前記プロセッサ上で実行されて、
前記プロセスプラント内の1つ以上の前記フィールドデバイスの構成に関連付けられた構成情報であって、前記構成情報は、特定のプロセス制御通信プロトコルに対するコマンドタイプに関連付けられた、構成情報を取得することと、
ユーザインターフェースを介して前記構成情報をユーザに提示することと、
前記ユーザが、前記特定のプロセス制御通信プロトコルに対するコマンドタイプのリストを含む少なくとも1つのホワイトリストの内容を指定することを可能にすることと、
前記少なくとも1つのホワイトリストを前記1つ以上の制御デバイスのうちの1つに送信して、前記1つ以上の制御デバイスのうちの前記1つの前記通信アプリケーションを構成し、前記少なくとも1つのホワイトリストを使用して前記制御デバイスにおいてメッセージに対して前記ホワイトリストフィルタリング動作を実装することと、を行うように適合された構成アプリケーションを含む、構成システムと、を備える、プロセス制御システム。 - 前記構成アプリケーションは、前記1つ以上のフィールドデバイスの前記制御デバイスへの通信接続に関連付けられた情報を含む構成情報を取得する、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、1つ以上の前記フィールドデバイスによってサポートされる前記特定のプロセス制御通信プロトコルに対する1つ以上のコマンドタイプを含む構成情報を取得する、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、前記1つ以上のフィールドデバイスのうちの少なくとも1つのデバイス記述を解析して、前記1つ以上の前記フィールドデバイスのうちの前記少なくとも1つによってサポートされる前記特定のプロセス制御通信プロトコルに対する1つ以上のコマンドタイプを判定する発見ルーチンを含む、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、ユーザ入力デバイスを介してユーザから前記構成情報を取得する、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、構成データベースから前記構成情報を取得する、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、前記プロセス制御システム内の前記1つ以上のフィールドデバイスのうちの1つから前記構成情報を取得する、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、ユーザが、前記ホワイトリストが適用される前記制御デバイスのセキュリティレベルを指定することを可能にする、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、ユーザがホワイトリストからコマンドタイプを追加および削除することを可能にする、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、ユーザが前記制御デバイスのための複数の異なるホワイトリストを作成することを可能にし、前記複数の異なるホワイトリストの各々は、前記制御デバイスの異なるセキュリティ設定に関連付けられる、請求項75記載のプロセス制御システム。
- 前記構成アプリケーションは、前記ホワイトリストフィルタリング動作を実装する前記通信アプリケーションを前記制御デバイスにさらにダウンロードする、請求項75に記載のプロセス制御システム。
- 前記制御デバイスは、1つ以上の前記フィールドデバイスを使用してプロセス制御機能を実行するプロセスコントローラと、1つ以上の前記フィールドデバイスを使用して安全制御機能を実行する安全コントローラと、前記プロセス制御システム内の2つの異なる通信ネットワーク間で結合されたゲートウェイまたは入力/出力デバイスとのうちの1つである、請求項75に記載のプロセス制御システム。
- 前記構成アプリケーションは、ユーザが、前記制御デバイスに記憶された1つ以上のホワイトリストを閲覧および変更することを可能にする、請求項75に記載のプロセス制御システム。
- 前記ホワイトリストフィルタリング動作を実装する前記通信アプリケーションは、
前記制御デバイスに到着する1つ以上のメッセージの各々からコマンドタイプを抽出することと、
前記プロセス制御通信プロトコルに対するコマンドタイプの記憶されているホワイトリストに対して、前記抽出されたコマンドタイプをチェックすることと、
前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対する前記コマンドタイプの前記記憶されているホワイトリストに含まれている場合に前記メッセージを許可し、かつ前記抽出されたコマンドタイプが前記プロセス制御通信プロトコルに対するコマンドタイプの前記記憶されているホワイトリストに含まれていない場合に前記メッセージを許可しないことと、を行う、請求項75に記載のプロセス制御システム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962904229P | 2019-09-23 | 2019-09-23 | |
US62/904,229 | 2019-09-23 | ||
US17/022,888 | 2020-09-16 | ||
US17/022,888 US20210092097A1 (en) | 2019-09-23 | 2020-09-16 | Whitelisting for HART Communications in a Process Control System |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021051741A true JP2021051741A (ja) | 2021-04-01 |
JP2021051741A5 JP2021051741A5 (ja) | 2023-06-15 |
Family
ID=74882212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020157088A Pending JP2021051741A (ja) | 2019-09-23 | 2020-09-18 | プロセス制御システムにおけるhart通信のためのホワイトリスト |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210092097A1 (ja) |
JP (1) | JP2021051741A (ja) |
CN (1) | CN112543175A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11750715B2 (en) * | 2020-07-17 | 2023-09-05 | Rockwell Automation Technologies, Inc. | Industrial automation broker device |
CN113973275B (zh) * | 2021-10-28 | 2023-06-27 | 中国联合网络通信集团有限公司 | 数据处理方法、装置和介质 |
FR3129551A1 (fr) * | 2021-11-19 | 2023-05-26 | Electricite De France | procédé et dispositif de surveillance de commandes HART |
CN114417336B (zh) * | 2022-01-24 | 2022-11-01 | 北京新桥信通科技股份有限公司 | 一种应用系统侧安全管控方法及系统 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7237109B2 (en) * | 2003-01-28 | 2007-06-26 | Fisher- Rosemount Systems, Inc. | Integrated security in a process plant having a process control system and a safety system |
US8942219B2 (en) * | 2007-04-13 | 2015-01-27 | Hart Communication Foundation | Support for network management and device communications in a wireless network |
US10083249B2 (en) * | 2010-09-23 | 2018-09-25 | Fisher-Rosemount Systems, Inc. | Systems, methods and articles of manufacture to provide a search service to a process control system |
EP2439673A3 (en) * | 2010-10-11 | 2012-05-30 | Lumension Security, Inc. | Systems and methods for implementing application control security |
DE102011081796A1 (de) * | 2011-08-30 | 2013-02-28 | Endress + Hauser Gmbh + Co. Kg | Verfahren zum Bedienen eines Feldgerätes |
WO2013184117A1 (en) * | 2012-06-07 | 2013-12-12 | Schneider Electric Industries Sas | Message tunneling in industrial networks |
US20140137190A1 (en) * | 2012-11-09 | 2014-05-15 | Rapid7, Inc. | Methods and systems for passively detecting security levels in client devices |
US20150365379A1 (en) * | 2014-06-12 | 2015-12-17 | Gryphon Online Safety, Inc. | System and method for managing, controlling and configuring an intelligent parental control filter |
US10291506B2 (en) * | 2015-03-04 | 2019-05-14 | Fisher-Rosemount Systems, Inc. | Anomaly detection in industrial communications networks |
US10270853B2 (en) * | 2016-07-22 | 2019-04-23 | Fisher-Rosemount Systems, Inc. | Process control communication between a portable field maintenance tool and an asset management system |
US10721212B2 (en) * | 2016-12-19 | 2020-07-21 | General Electric Company | Network policy update with operational technology |
US10341293B2 (en) * | 2017-02-22 | 2019-07-02 | Honeywell International Inc. | Transparent firewall for protecting field devices |
DE102017111933A1 (de) * | 2017-05-31 | 2018-12-06 | Krohne Messtechnik Gmbh | Verfahren zur sicheren Kommunikation mit einem Feldmessgerät der Prozesstechnik und entsprechendes Feldmessgerät |
CN107544470B (zh) * | 2017-09-29 | 2019-10-18 | 杭州安恒信息技术股份有限公司 | 一种基于白名单的控制器防护方法 |
-
2020
- 2020-09-16 US US17/022,888 patent/US20210092097A1/en active Pending
- 2020-09-18 JP JP2020157088A patent/JP2021051741A/ja active Pending
- 2020-09-23 CN CN202011012558.3A patent/CN112543175A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN112543175A (zh) | 2021-03-23 |
US20210092097A1 (en) | 2021-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7010612B2 (ja) | プロセスプラントにおけるユーザインターフェイスデバイスに対する二要素認証 | |
JP2021051741A (ja) | プロセス制御システムにおけるhart通信のためのホワイトリスト | |
US9300673B2 (en) | Automation system access control system and method | |
US10097585B2 (en) | Model-based security policy configuration and enforcement in an industrial automation system | |
JP7013153B2 (ja) | プロセスプラント内のプロセス制御装置へのアクセスを制御する認証と権限付与 | |
US9130980B2 (en) | Integrated unified threat management for a process control system | |
EP1420317B1 (en) | System and methodology providing automation security analysis, validation, and learning in an industrial controller environment | |
JP4953609B2 (ja) | 産業用オートメーションのためのスケーラブルで柔軟な情報セキュリティ | |
US11212322B2 (en) | Automated discovery of security policy from design data | |
CN113625665B (zh) | 集中式安全事件生成策略 | |
US20060236374A1 (en) | Industrial dynamic anomaly detection method and apparatus | |
US10110561B2 (en) | Firewall with application packet classifer | |
JP2006099777A (ja) | レガシー・オートメーション・システムのための集中管理プロキシ・ベースのセキュリティ | |
US11301548B2 (en) | Apparatus and method for preventing unintended or unauthorized peripheral device connectivity by requiring authorized human response | |
JP2019092149A (ja) | プロセス制御スイッチの中毒防止 | |
CN109286606B (zh) | 针对过程控制系统中的加密业务的防火墙 | |
US20210092107A1 (en) | Secure off-premises access of process control data by a mobile device | |
GB2589962A (en) | Whitelisting for hart communications in a process control system | |
CN113625664B (zh) | 通过零接触注册的自动端点安全策略分配 | |
CN112020683A (zh) | 自动化组件配置 | |
CN116997898A (zh) | 控制系统及其控制方法 | |
GB2567556A (en) | Enhanced smart process control switch port lockdown |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230607 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230607 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240425 |