(57)【特許請求の範囲】
【請求項１】
プロセスを制御するように構成された工業コントローラと、
証明書を発行し、また無効にするように構成されたハードウェアサーバを備えた証明機関（ＣＡ）と、
ネットワークバスと、
を備え、
前記工業コントローラが、保護モードの動作に入るために、ユーザと相互認証するのに前記ＣＡを用いるように構成されており、
前記ハードウェアサーバ、前記ネットワークバス、および前記工業コントローラは、工業施設に配置されるように構成され、
前記工業コントローラは、前記ネットワークバスを介して前記ハードウェアサーバと通信するように構成され、
前記保護モードの動作中には、前記工業コントローラが、前記工業コントローラに提出されたすべての要求についてユーザと相互認証するように構成された、
システム。
【請求項２】
前記工業コントローラが、前記ＣＡを用いることにより、前記ユーザが用意したユーザ証明書を確認して、前記ユーザ証明書が有効でない場合、第１のセキュリティ違反の警告を出し、前記ユーザ証明書が有効である場合、前記ＣＡからのＣＡ証明書を要求して確認し、前記ＣＡ証明書が有効でない場合、第２のセキュリティ違反の警告を出し、前記ＣＡ証明書が有効である場合、前記ＣＡからの新規のコントローラ証明書を要求し、次いで、前記保護モードの動作に入るように構成されている、請求項１に記載のシステム。
【請求項３】
前記工業コントローラが、前記保護モードの動作を終了するとき、前記新規のコントローラ証明書を削除するように構成されている、請求項２に記載のシステム。
【請求項４】
セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、またはそれらの組合を用いることにより、安全な接続によって前記工業コントローラと通信するように構成された命令を含む非一時的な機械可読の記憶媒体を有する遠隔装置を備え、
前記工業コントローラが第１の証明書を含み、前記遠隔装置が第２の証明書を含み、
前記ＣＡが、前記第１の証明書および前記第２の証明書を用いて、前記工業コントローラを前記遠隔装置に認証し、前記遠隔装置を前記工業コントローラに認証する、
請求項１に記載のシステム。
【請求項５】
前記保護モードの動作が、前記工業コントローラと前記ユーザの間の相互作用を制限するために、役割ベースのアクセスを用いるように構成され、
前記相互作用が、前記遠隔装置を介して前記ユーザが前記工業コントローラと相互作用する、
請求項４に記載のシステム。
【請求項６】
前記役割ベースのアクセスが、プラント操作員の役割、プラントエンジニアの役割、システム管理者の役割、現場エンジニアの役割、プログラマの役割、またはそれらの組合せを含む、請求項５に記載のシステム。
【請求項７】
前記工業コントローラが、複数のプロセッサを有する冗長コントローラを備える、請求項１に記載のシステム。
【請求項８】
前記ＣＡが、ＯｐｅｎＣＡ、Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ  Ｂｅａｎ  Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ（ＥＪＢＣＡ）、ＯｐｅｎＳＳＬ、Ｘ  Ｃｅｒｔｉｆｉｃａｔｅ（ＸＣＡ）、またはそれらの組合せを備える、請求項１に記載のシステム。
【請求項９】
同一工業施設にネットワークバスを介して通信可能となるように配置されたハードウェアサーバを備えた証明機関（ＣＡ）及び工業コントローラの少なくとも一方に格納された、実行可能コードを含む非一時的な機械可読媒体であって、
前記実行可能コードが、
第１の工業コントローラとＣＡとの間でネットワークバスを介して通信可能となるように、第１の工業コントローラを前記ＣＡに通信可能に結合し、
第１のユーザＣＡ証明書を用いることによって前記第１の工業コントローラに通信可能に結合されるように構成された第１のユーザを認証し、
前記第１のユーザＣＡ証明書が有効でない場合、第１のセキュリティ違反の警報を出し、
前記第１のユーザＣＡ証明書が有効である場合、ＣＡからのＣＡ証明書を要求して確認し、
前記ＣＡ証明書が有効でない場合、第２のセキュリティ違反の警告を出し、
前記ＣＡ証明書が有効である場合、第１のコントローラＣＡ証明書を要求して保護モードの動作に入り、
前記保護モードの動作中には、前記工業コントローラが、前記工業コントローラに提出されたすべての要求について前記第１のユーザと相互認証する、
ように構成された命令を含む、
非一時的な機械可読媒体。
【請求項１０】
保護モードの動作を終了する要求を受け取り、
前記要求を認証し、
前記要求が認証された場合、前記第１のコントローラ証明書を削除して、
前記保護モードの動作を終了する、
ように構成された命令を含む、請求項９に記載の非一時的な有形の機械可読媒体。
【請求項１１】
前記第１のコントローラ証明書を削除するように構成された前記命令が、前記第１のコントローラ証明書を無効にするように前記ＣＡに指示する命令を含む、請求項１０に記載の非一時的な有形の機械可読媒体。
【請求項１２】
第２のユーザＣＡ証明書を用いることにより、第２のユーザを認証し、
前記第２のユーザが認証されない場合、次いで、第３のセキュリティ違反の警告を出し、
前記第２のユーザが認証された場合、前記第１のコントローラ証明書を提出し、
前記第１のコントローラ証明書を確認して、
前記第１のコントローラ証明書が有効である場合、前記第１のユーザとは異なる前記第２のユーザと前記工業コントローラの間の安全な接続を確立する、
ように構成された命令を含む、請求項９に記載の非一時的な有形の機械可読媒体。
【請求項１３】
前記第１のユーザ、前記第２のユーザ、またはそれらの組合せによって発行されたコントローラ命令を確認するのに役割ベースのアクセスを用いるように構成された命令を含む、請求項１２に記載の非一時的な有形の機械可読媒体。
【請求項１４】
前記役割ベースのアクセスを用いるように構成された前記命令が、前記第１のユーザの第１のユーザ役割、前記第２のユーザの第２のユーザ役割、またはそれらの組合せを調べて、前記第１のユーザ役割、前記第２のユーザ役割、またはそれらの組合せが、前記コントローラ命令を発行するように構成されているかどうか判断するように構成された命令を含む、請求項１３に記載の非一時的な有形の機械可読媒体。
【請求項１５】
第１の工業コントローラとハードウェアサーバを備えた証明機関（ＣＡ）との間でネットワークバスを介して通信可能となるように、第１の工業コントローラを前記ＣＡに通信可能に結合し、
保護モードの動作に入る要求を受け取るステップと、
ユーザ証明書を用いることによって第１の工業コントローラに通信可能に結合されて要求を出すように構成されたユーザを認証するステップと、
前記ユーザが認証されない場合、次いで、第１のセキュリティ違反の警告を出すステップと、
前記ユーザが認証された場合、次いで、ＣＡサーバからの証明機関（ＣＡ）証明書を要求するステップと、
前記ＣＡ証明書が有効であるかどうか判断するステップと、
前記ＣＡ証明書が有効でない場合、次いで、第２のセキュリティ違反の警告を出すステップと、
前記ＣＡ証明書が有効である場合、次いで、前記ＣＡサーバからのコントローラ証明書を要求して、保護モードの動作に入るステップと、
を含み、
前記ＣＡ、前記ネットワークバス、および前記工業コントローラは、工業施設に配置されるように構成され、
前記工業コントローラは、前記ネットワークバスを介して前記ＣＡと通信するように構成され、
前記保護モードの動作中には、前記工業コントローラが、前記工業コントローラに提出されたすべての要求について前記ユーザと相互認証するように構成された、
方法。
【請求項１６】
前記工業コントローラは、３重モジュール式冗長（ＴＭＲ）コントローラを備え、
前記要求を受け取るステップと、前記ユーザを認証するステップと、前記第１のセキュリティ違反および前記第２のセキュリティ違反の警告を出すステップと、前記ＣＡ証明書を要求するステップと、前記ＣＡ証明書が有効かどうか判断するステップと、前記コントローラ証明書を要求するステップとが、前記ＴＭＲコントローラによって実施される、
請求項１５に記載の方法。
【請求項１７】
前記ＣＡを用いて、前記ユーザ証明書、前記ＣＡ証明書、前記コントローラ証明書、またはそれらの組合せを発行するステップを含む、請求項１５に記載の方法。
【請求項１８】
前記保護モードの動作に入るステップが、前記ユーザによって発行されたコントローラ命令を確認するのに役割ベースのアクセスを用いるように構成された安全な接続を確立するステップを含む、請求項１５に記載の方法。
【請求項１９】
前記安全な接続が、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、またはそれらの組合せを用いるように構成されている、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される主題は、装置を保護するためのシステムおよび方法に関し、より詳細には、コントローラ装置を保護するためのシステムおよび方法に関する。
【背景技術】
【０００２】
センサ、ポンプ、弁、などの特定の装置は、コントローラによって、空気圧、液圧、および／または電気信号を用いて制御することができる。例えば、弁の開きは、コントローラからの４〜２０ｍＡの信号に基づいて制御することができる。コントローラは、さまざまな装置との間で信号を送受するのに通信ネットワークを用いることもできる。残念ながら、コントローラは、無許可の方法で、または無許可のユーザによって使用されることがある。したがって、コントローラを保護することが有益となり得る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００８／０１７５３８８号明細書
【発明の概要】
【０００４】
出願時に特許請求された発明の範囲に一致する特定の実施形態を以下に要約する。これらの実施形態は、特許請求された発明の範囲を限定することが意図されたものではなく、これらの実施形態は、単に本発明の可能な形態の概要を提供することが意図されている。実際、本発明は、以下で説明される実施形態と類似の、または異なる、さまざまな形態を包含し得る。
【０００５】
第１の実施形態では、このシステムはコントローラおよび証明機関を含む。コントローラは、プロセスを制御するように構成される。証明機関（ＣＡ）は、証明書を発行し、また無効にするように構成され、コントローラは、ユーザを相互に認証し保護モードの動作に入るために、ＣＡを使用するように構成される。
【０００６】
第２の実施形態では、非一時的な有形の機械可読媒体が、実行可能コードを有する。実行可能コードには、第１のユーザの証明機関（ＣＡ）証明書を用いることによって第１のユーザを認証するように構成された命令が含まれる。第１のユーザは、第１のコントローラに通信可能に結合されるように構成される。命令は、第１のユーザＣＡ証明書が有効でない場合、第１のセキュリティ違反の警報を出すように構成される。しかし、命令は、第１のユーザＣＡ証明書が有効である場合ＣＡからのＣＡ証明書を要求して確認するように構成される。同様に、命令は、ＣＡ証明書が有効でない場合、第２のセキュリティ違反の警報を出すように構成される。命令は、ＣＡ証明書が有効である場合、第１のコントローラＣＡ証明書を要求して保護モードの動作に入るように構成される。
【０００７】
第３の実施形態では、方法は、保護モードの動作に入る要求を受け取るステップと、ユーザ証明書を用いることにより、要求を出しているユーザを認証するステップとを含む。第１のユーザは、第１のコントローラに通信可能に結合されるように構成される。この方法は、ユーザが認証されない場合、第１のセキュリティ違反の警報を出すステップを含む。しかし、この方法は、ユーザが認証された場合、ＣＡサーバからの証明機関（ＣＡ）証明書を要求するステップと、ＣＡ証明書が有効であるかどうか判断するステップとを含む。同様に、この方法は、ＣＡ証明書が有効でない場合、第２のセキュリティ違反の警報を出すステップを含む。この方法は、ＣＡ証明書が有効である場合、ＣＡサーバからのコントローラ証明書を要求するステップと、保護モードの動作に入るステップとを含む。
【０００８】
本発明の、これらおよび他の特徴、態様、および利点は、以下の詳細な説明を添付の図面と併せ読めばよりよく理解される。各図面を通じて、同じ符号は同じ部品を表す。
【図面の簡単な説明】
【０００９】
【図１】本開示の態様による、コントローラ装置を保護するように構成された工業用制御システムの実施形態の概略図である。
【図２】コントローラ装置、切離し装置、およびセキュリティ機関の間の通信を例示する、図１の工業用制御システムの実施形態のブロック図である。
【図３】図１の制御システムを保護するために保護モードの動作に入るためのプロセスの実施形態の流れ図である。
【図４】図１の制御システムに対する役割ベースのアクセスを用いて保護モードで動作するためのプロセスの実施形態の流れ図である。
【発明を実施するための形態】
【００１０】
本発明の１つまたは複数の特定の実施形態を以下で説明する。これらの実施形態の簡潔に説明するために、本明細書は、実際の実装形態の特徴のすべてを必ずしも説明していない。何らかの工学プロジェクトまたは設計プロジェクトのような、何らかのこのような実際の実装形態の開発では、開発者の特定の目標を達成するためには、実装形態ごとに変化する可能性のあるシステム関連および業務関連の制約の順守など、多数の実装時固有の判断を下さなければならないことを理解されたい。さらに、このような開発努力は、複雑かつ時間のかかることであるが、それにもかかわらず、本開示の利益を有する当業者については、設計、組立て、製造の日常の仕事であるはずであることを理解されたい。
【００１１】
本発明のさまざまな実施形態の要素を導入するとき、冠詞「ａ」、「ａｎ」、「ｔｈｅ」、および「ｓａｉｄ」は、１つまたは複数の要素があることを意味することが意図されている。用語「ｃｏｍｐｒｉｓｉｎｇ（備える、含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、および「ｈａｖｉｎｇ（有する）」は、包括的であることが意図され、列挙された要素以外にさらなる要素があり得ることを意味する。
【００１２】
開示される実施形態には、相互認証（例えば双方向認証）を用いることにより、１つまたは複数のコントローラ（例えば工業用コントローラ）を保護するのに適したシステムおよび方法が含まれる。ネットワークを介してコントローラと通信するプラント操作員またはプラントエンジニアなどのユーザは、相互認証を与えることにより、実質的にコントローラの識別情報を確認してもよい。プラント操作員またはプラントエンジニアと通信するコントローラは、相互的に、ユーザの識別情報を確認することができる。相互認証は、コントローラとユーザの間の相互作用が所望の相互作用に限定されるように、役割ベースのアクセス（ＲＢＡ）も提供してもよい。例えば、相互作用は、ユーザ（例えばシステムの管理者、操作員、現場エンジニア（ｃｏｍｍｉｓｓｉｏｎｉｎｇ  ｅｎｇｉｎｅｅｒ）、またはプログラマ）の役割に基づいて、読取り専用の相互作用、書込み専用の相互作用、またはそれらの組合せに限定されてもよい。
【００１３】
特定の実施形態では、相互認証は、工業施設に存在するように設計されたＣＡサーバなど、安全な設備ベースのＣＡを含む証明機関（ＣＡ）の新規の使用によって与えることができる。局所的に管理されたＣＡが、ＣＡサーバの中の登録権限の機能によって審査および承認のプロセスを確立してもよい。審査および承認のプロセスは、安全なネットワークを用いて通信することができる、信頼されたユーザと装置の独自の組を確立してもよい。他の実施形態では、ＣＡは、ヴァージニア州レストンのＶｅｒｉＳｉｇｎ社によって提供されるサーバなど、サードパーティの認証サービスによって提供される外部のＣＡサーバを含むことができる。さらに他の実施形態では、これだけではないが、トークンシステム、キーシステム、ワンタイムパッドシステム、チャレンジレスポンスシステムなど、任意の２因子認証（ＴＦＡ）サービスが用いられてもよい。
【００１４】
さらに、相互認証は、コントローラの動作中に、さまざまなときに実施されてもよい。例えば、コントローラが不正使用の防止を保証され得るように、ユーザは、コントローラに、保護モードに入るように要求してもよい。コントローラが保護モードに入る前に、ユーザとコントローラが互いを相互認証してもよい。一旦、保護モードになると、コントローラのプロセスに変更を加える以前に、ユーザとコントローラは、コントローラ装置をさらに保証し、かつコントローラの不正使用の可能性を低下させるために、再び互いを相互認証してもよい。
【００１５】
図１に移って、工業プロセス制御システム１０の実施形態が示されている。遠隔装置１２は、さまざまなフィールド装置の構成および監視のアプリケーションを実行するように構成され、技術者または専門家が工業プロセス制御システム１０の構成要素を監視することができるオペレータインターフェースを提供する。遠隔装置１２は、ラップトップ、ワークステーション、タブレットコンピュータ、または手持ち式の携帯機器（例えば携帯情報端末または携帯電話）など、ソフトウェアアプリケーションを実行するのに適した任意のタイプのコンピュータ装置とすることができる。実際、コンピュータ１２は、さまざまなハードウェアおよび／またはオペレーティングシステムのプラットフォームのうち任意のものを含むことができる。
【００１６】
特定の実施形態では、遠隔装置１２は、ヒューマンマシンインターフェース（ＨＭＩ）システム１４、生産実行システム（ＭＥＳ）１６、分散型制御システム（ＤＣＳ）１７、および／または監視制御とデータ収集（ＳＣＡＤＡ）のシステム１８などの工業オートメーションシステムをホスティングしてもよい。さらに、遠隔装置１２は、遠隔装置１２と装置Ｄ1２２、Ｄ2２４およびＤ3２６の間の通信を可能にするのに適したネットワークバス２０に通信可能に接続される。装置２２、２４、および２６は、工業用途に使用するのに適したセンサ、弁、アクチュエータなどのフィールド装置を含むことができる。図示の実施形態では、タービンシステム２７を動作させる、または制御するために、装置２２、２４が、タービンシステム２７に動作可能に結合される。例えば、タービンシステム２７は、ガスタービン、蒸気タービン、水タービン、または別の適切なタービンシステムとすることができる。さらに、ポンプ、圧縮機、または膨脹器であり得るターボ機械２９を動作させる、または制御するために、装置２６が、ターボ機械２９に動作可能に結合される。また、装置２２、２４、および２６は、ホームオートメーション用途などの住宅応用例に使用するのに適した装置を含むことができることに留意されたい。示された実施形態では、２つのコントローラ２８および３０もバス２０に接続されている。コントローラ２８、３０は、装置２２、２４、２６のうち任意の１つと通信し、かつ制御するために、バス２０を使用してもよい。例えば、コントローラ２８、３０は、工業施設の中に存在することができ、装置２２、２４、２６と関連する１つまたは複数の作業条件を調節するように構成されてもよい。バス２０は、通信を可能にするのに適した任意の電子的ネットワークおよび／または無線ネットワークとすることができ、ファイバ媒体、ツイストペアケーブル媒体、無線通信ハードウェア、イーサネットケーブル媒体（例えばＣａｔ−５、Ｃａｔ−７）などを含むことができる。さらに、バス２０は、システム１０の構成要素を１００ＭＢ／秒以上の通信速度で接続するのに適した高速イーサネットのサブバスなど、いくつかのサブバスを含むことができる。さらに、バス２０は、米電気電子学会（ＩＥＥＥ）８０２．３規格に準拠するＩ／Ｏネットワークなどの入出力（Ｉ／Ｏ）ネットワークを含むことができる。バス２０は、システム１０の構成要素を、概して３１．２５ｋｂ／秒の通信速度で接続するのに適したＨ１ネットワークのサブバスも含むことができる。サブバスは、例えば、リンク装置もしくはドイツのハールのＳｏｆｔｉｎｇ  ＡＧ社によって提供されるＦＧ−１００という呼称で市販されているものなどのゲートウェイ、および／またはニューヨーク州スケネクタディのＧｅｎｅｒａｌ  Ｅｌｅｃｔｒｉｃ社から入手可能なＩ／Ｏパックを使用することにより、互いに通信し合ってもよい。実際、システム１０の構成要素の間で通信するために、バス２０の相互接続された複数のサブバスが使用されてもよい。
【００１７】
さらに、２つのセキュリティ機関（例えば証明機関）３２、３４またはＣＡに供給するサーバが、バス２０に接続される。図示のように、セキュリティ機関３２、３４は、装置２２、２４、２６、遠隔装置１２、またはコントローラ２８、３０のうち任意のものと通信するために、バス２０を使用してもよい。具体的には、セキュリティ機関３２、３４は、相互認証を用いてコントローラ２８、３０を保護するために、制御システム１０の間で証明書を発行し、また無効にすることができる。特定の実施形態では、セキュリティ機関３２、３４の数が変化してもよい。例えば、制御システム１０は、１つ、２つ、３つ、４つ、またはより多くのセキュリティ機関３２、３４を有してもよい。さらに、上記で論じたように、セキュリティ機関３２、３４は、サードパーティのセキュリティ機関とすることができ、またはコントローラ２８、３０と（例えば工業施設の）同一の領域に存在してもよい。
【００１８】
証明書は、証明書ホルダの識別情報を確認するためにデジタル署名を用いる電子文書とすることができる。特定の実施形態では、証明書ホルダは、遠隔装置１２、バス２０、装置２２、２４、２６、コントローラ２８、３０、セキュリティ機関３２、３４、および／またはこれらのいくつかの組合せとすることができる。制御システム１０のさまざまな構成要素については、相互認証または他のセキュリティ技法（例えば２因子認証）を用いて互いの識別情報を確認するのが望ましいであろう。例えば、遠隔装置１２が、工業施設の作業条件の変更を要求する可能性がある。コントローラ２８、３０は、遠隔装置１２の識別情報を確認してから、要求された変更を実施してもよい。この認証により、遠隔装置１２および／またはコントローラ２８、３０の不正使用の可能性が、低下または解消され得る。さらに、遠隔装置１２は、制御システム１０のセキュリティをさらに改善するために、コントローラ２８、３０の識別情報を確認してもよい。一般に、相互認証は、第１の証明書ホルダ（例えば遠隔装置１２）が第２の証明書ホルダ（例えばコントローラ２８、３０）の識別情報を確認して、相互に、第２の証明書ホルダが、次に第１の証明書ホルダの識別情報を確認することを指してもよい。したがって、相互認証により、制御システム１０の不正使用の可能性が低下し得る。
【００１９】
図１に示された工業プロセス制御システム１０は、説明のために大幅に簡素化されていることに留意されたい。構成要素の数は、一般に、示された構成要素の数より何倍も多い。このことは、示された装置２２、２４、および２６の数に関して特に当てはまる。実際、工業環境では、工業プロセス制御システム１０については、装置の数が数百になることがある。したがって、制御システム１０の範囲は、制御システム１０が実装される場所に基づいて様々であり得る。特定の実施形態では、制御システム１０は住宅に設置され、構成要素の数は、図１に示されたものより少なくてもよい。
【００２０】
図２は、コントローラ２８、３０と、遠隔装置１２と、相互認証を用いて確実に動作させるように通信可能に結合されたセキュリティ機関３２とを含む制御システム１０の実施形態のブロック図である。セキュリティ機関３２は、制御システム１０の構成要素の間で、証明書４０を発行し、また無効にすることができる。示されるように、セキュリティ機関３２は、証明書４０を管理することができるセキュリティサーバ４２（例えば証明機関サーバ）を含む。例えば、セキュリティサーバ４２は、ＳＨＡ−１などのさまざまな暗号のハッシュアルゴリズムを用いて証明書４０を生成するためのソフトウェア命令を含むことができる。ソフトウェア命令は、サーバ４２の記憶装置４３などの非一時的な機械可読媒体に記憶されてもよい。以前に論じたように、セキュリティ機関３２は、サードパーティの認証サービスとすることができ、または工業施設の内部に存在してもよい。後者の場合には、セキュリティ機関３２がバス２０に接続して、インターネットまたは他の外部ネットワークに接続せずに証明書４０を管理すると、制御システム１０をさらに保証し得るので望ましいであろう。さらに、セキュリティ機関３２は、ＯｐｅｎＣＡ、Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ  Ｂｅａｎ  Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ（ＥＪＢＣＡ）、ＯｐｅｎＳＳＬ、Ｘ  Ｃｅｒｔｉｆｉｃａｔｅ（ＸＣＡ）またはそれらの組合せなど、証明書認証ソフトウェアのさまざまなオープンソースまたはサードパーティの実装形態を用いてもよい。
【００２１】
図示のように、セキュリティサーバ４２は、遠隔装置１２およびコントローラ２８、３０と通信するように構成される。セキュリティサーバ４２は、遠隔装置１０のユーザ４６を識別するために使用することができるユーザ証明書４４を、発行し、また無効にすることができる。セキュリティサーバ４２は、コントローラ２８、３０を識別するために使用することができるコントローラ証明書４８を、発行し、また無効にすることができる。さらに、ユーザおよびコントローラ証明書４４、４８は、役割ベースのアクセスを可能にするための属性を含むことができる。例えば、ユーザ４６は、プラント操作員の役割、プラントエンジニアの役割、現場エンジニアの役割、プログラマの役割、またはシステム管理者の役割を割り当てられてもよい。ユーザ４６と遠隔装置の相互作用は、割り当てられた役割に基づいて部分的に限定されてもよく、付与された役割は、ユーザ証明書４４またはコントローラ証明書４８に含まれてもよい。上記で論じたように、相互作用は、読取り専用の相互作用、書込み専用の相互作用、またはそれらのいくつかの組合せに限定されてもよい。例えば、プラント操作員は読取り専用の相互作用に限定され、システム管理者は読書き相互作用へのアクセス権を有してもよい。図示のように、コントローラ証明書４８はコントローラ２８、３０の内部に記憶されてもよく、ユーザ証明書４４は遠隔装置１２のセキュリティライブラリ５０に記憶されてもよい。
【００２２】
遠隔装置１２は、相互認証を用いて確実に動作させるために、セキュリティライブラリ５０およびコントローラ２８、３０と通信し得る構成ツール５２を含むことができる。構成ツール５２は、ユーザ４６と制御システム１０の残りの間のインターフェースとして用いられ得る。例えば、ユーザ４６は、構成ツール５２を介して処理条件の変更を要求することができ、ユーザ４６およびユーザの役割が、変更することを認証された場合、構成ツール５２は、コントローラ２８、３０上の処理条件の設定値を変更してもよい。この目的のために、遠隔装置１２は、ユーザ証明書４４およびコントローラ証明書４８を認証するのに用いられるソフトウェア命令を実行するための、１つまたは複数のプロセッサ５４および／または記憶装置５６などの他のデータ処理回路を含むことができる。これらの命令は、１つまたは複数のプロセッサ５４によって実行され得るソフトウエアプログラムに符号化されてもよい。さらに、その命令は、記憶装置５６などの有形で非一時的なコンピュータ可読媒体に記憶されてもよい。記憶装置５６は、例えばランダムアクセスメモリ、読取り専用メモリ、（１つまたは複数の）ハードドライブ、および／または光ディスクを含むことができる。特定の実施形態では、記憶装置５６に記憶される命令は、遠隔装置１２とコントローラ２８、３０の間の相互認証を可能にするためにコントローラ２８、３０と通信するように構成されてもよい。さらに、この通信は、制御システム１０のセキュリティをさらに向上するために、セキュアソケットレイヤ（ＳＳＬ）、トランスポートレイヤセキュリティ（ＴＬＳ）、または別の適切な暗号プロトコルを用いて保護されてもよい。例えば、１つまたは複数のプロセッサ５４および記憶装置５６は、ユーザ証明書４４およびコントローラ証明書４８を確認するのに、遠隔装置のセキュリティプロセス５８を実施してもよい。
【００２３】
図示のように、コントローラ２８、３０は、１つまたは複数のプロセッサ６０および記憶装置６２も含んでもよい。以前に論じたように、プロセッサ６０および記憶装置６２は、ソフトウェア命令を実行して、ユーザ証明書４４、コントローラ証明書４８、またはセキュリティ機関証明書６４を認証してもよい。これらのソフトウェア命令は、前述の証明書を確認するために、サーバのセキュリティプロセス６６を実施してもよい。特定の実施形態では、コントローラ２８、３０は、２つ以上のプロセッサを有する冗長コントローラとすることができる。例えば、コントローラ２８、３０は、３つのプロセッサ６０を有する３重モジュール式冗長（ＴＭＲ）コントローラとすることができる。３つのプロセッサ６０が、冗長動作をもたらすように構成されてもよい。例えば、３つのプロセッサ６０のそれぞれが、独立してサーバのセキュリティプロセス６６を実施し、証明書４０を確認してもよい。一実施形態では、３つのプロセッサが、すべて独立してサーバセキュリティプロセス６６を実施し、証明書４０を確認してもよい。別の実施形態では、目下マスタプロセッサとして働いているプロセッサだけが、サーバセキュリティプロセス６６を実施し、証明書４０を確認してもよい。さらに別の実施形態では、３つのプロセッサのうち２つが、独立してサーバセキュリティプロセス６６を実施し、証明書４０を確認してもよい。
【００２４】
サーバセキュリティプロセス６６の結果が、３つのプロセッサ６０の間で比較されてもよい。こうすることにより、３つのプロセッサ６０における好ましくない挙動が補正され得る。例えば、３つのプロセッサ６０が、３つのうち２つの投票機構に構成されてもよい。１つのプロセッサ６０によるエラーが、２つの残りのプロセッサ６０の結果によって置き換えられてもよい。このことが、より故障許容のサーバセキュリティプロセス６６をもたらし得る。他の実施形態では、コントローラ２８、３０は、２つのうち２つの投票機構に構成されたデュアルコントローラとすることができる。さらに他の実施形態では、コントローラ２８、３０は、単一コントローラ、または単一コントローラ、デュアルコントローラおよびＴＭＲコントローラのいくつかの組合せでもよい。以下でさらに説明されるように、サーバのセキュリティプロセス６６および／または遠隔装置のセキュリティプロセス５８が相互認証を実施することができ、これによって、制御システム１０との認定されていない相互作用の可能性が低下し得る。
【００２５】
図３は、相互認証を用いてコントローラ２８、３０を保護するのに用いられるプロセス７０の実施形態の流れ図である。プロセス７０は、遠隔装置のセキュリティプロセス５８、サーバのセキュリティプロセス６６、またはそれらの組合せにより、部分的に、または完全に実施されてもよい。ユーザは、制御システム１０に変更を加え得るように、コントローラ２８、３０に対して保護モードに入るように要求を提出してもよい（ブロック７２）。これを受けて、遠隔装置のセキュリティプロセスまたはスレッド５８が、ユーザ４６のユーザ証明書４４を認証してもよい（ブロック７４）。ユーザ証明書４４は、ユーザ４６によって提供されてもよい。それに加えて、またはその代わりに、ユーザ証明書は、遠隔装置１２のセキュリティライブラリ５０から取得されてもよい。次いで、遠隔装置のセキュリティプロセス５８は、ユーザ証明書４４が有効かどうか判断してもよい（判断７６）。判断において（判断７６）、ユーザ証明書４４が有効である場合、遠隔装置のセキュリティプロセス５８は、ユーザ証明書４４の特定の属性をセキュリティライブラリ５０の内部の許容された証明書のホワイトリストと比較してもよい。例えば、ユーザ証明書４４が正確な公開キー（例えばコントローラ２８、３０の公開キー）を含んでいない場合、ユーザ証明書は無効になり得る。それに加えて、またはその代わりに、コントローラ２８、３０が、セキュリティサーバ４２の公開キーを用いてユーザ証明書４４の署名ハッシュを読み取ることができない場合、ユーザ証明書４４は無効になり得る。
【００２６】
遠隔装置のセキュリティプロセス５８は、ユーザ証明書４４が有効ではないと判断した場合には（判断７６）、次いで、遠隔装置のセキュリティプロセス５８はセキュリティ違反の警報を出してもよい（ブロック７９）。例えば、遠隔装置のセキュリティプロセス５８は、システム管理者に不正アクセスの試みの警告を出すことができ（ブロック７９）、警告を発することができ、かつ／またはセキュリティ違反をログ記録してもよい。次いで、システム管理者は、将来の無許可の試みを防止するために、是正措置を取ってもよい。遠隔のセキュリティプロセス５８は、中央のログ用装置に対して検査可能なアカウンティングおよびイベントレコードを提供するために、ログ記録するアクセス事象およびアクセスエラーを詳述し得ることに留意されたい。しかし、ユーザ証明書４４が有効である場合（判断７６）、コントローラ２８、３０は、セキュリティサーバ４２からの証明機関（ＣＡ）証明書６４を要求してもよい（ブロック７８）。次いで、サーバのセキュリティプロセス６６は、セキュリティ機関３２を認証することができ（ブロック８０）、それによって、セキュリティ機関３２の識別情報を確認した後に、セキュリティ機関３２からのさらなる証明書４０を受理する。したがって、サーバのセキュリティプロセス６６は、ＣＡ証明書が有効かどうか判断してもよい（判断８２）。
【００２７】
ＣＡ証明書６４が有効でない場合（判断８２）、以前に論じたように、サーバのセキュリティプロセスまたはスレッド６６はセキュリティ違反の警告を出してもよい（ブロック７９）。しかし、ＣＡ証明書が有効である場合（判断８２）、コントローラ２８、３０は、セキュリティサーバ４２からのコントローラ証明書４８を要求してもよい（ブロック８４）。そうする際に、コントローラ２８、３０は、遠隔装置１２との安全な接続を確立してもよい。安全な接続は、例えば、ＳＳＬ、ＴＳＬ、または別の適切な暗号プロトコルを用いて行なわれ得る。次いで、コントローラ２８、３０は、保護モードの動作に入ってもよい（ブロック８６）。特定の実施形態では、コントローラ２８、３０は、遠隔装置１２の構成ツール５２を用いて安全な接続が確立されたときに限って保護モードの動作に入り得る（ブロック８６）。したがって、安全な接続により、制御システム１０の不正な使用または変更の可能性を、低減する、または解消することができる。
【００２８】
図４において以下でさらに論じられるように、コントローラ２８、３０は、相互認証を用いて保護モードで動作し続けてもよい（ブロック８８）。特定の実施形態では、コントローラ２８、３０は、ユーザ４６からの将来の要求を認証するのに、コントローラ証明書４８を使い続けてもよい。最終的に、コントローラ２８、３０は、保護モードを終了する要求を受け取ってもよい（ブロック９０）。これを受けて、コントローラ２８、３０は、ＣＡ証明書６４およびコントローラ証明書４８を含む証明書を削除してもよい（ブロック９２）。さらに、コントローラ２８、３０は、セキュリティ機関３２がその証明書４０を無効にすることを要求することができ、このため、これらの証明書４０は再使用され得ない。結果として、ＣＡ証明書６４または制御証明書４８に対する各要求に際して（ブロック７８、８４）、コントローラ２８、３０は、新規の証明書４８、６４を受け取ってもよい。このことにより、制御システム１０にアクセスするのに、前からの証明書が用いられないので、制御システム１０のセキュリティがさらに向上し得る。実際、保護モードの動作に入るようにとのすべての要求が、次の認証のための新規の証明書をもたらしてもよい。他の実施形態では、前からの証明書が、認証を通じて用いられてもよい。前からの証明書を削除した後に（ブロック９２）、コントローラ２８、３０は保護モードの動作を終了してもよい（ブロック９４）。特定の実施形態では、コントローラ２８、３０は、保護モードを終了する要求を受け取るとすぐに（ブロック９０）、ユーザ４６のユーザ証明書４４を再び確認してもよい。そうする際に、コントローラ２８、３０は、ユーザ４６が保護モードの終了を要求する（ブロック９０）権限を与えられていることを確認してもよい。したがって、保護モードの終了を要求する（ブロック９０）のに、相互認証が用いられ得る。しかし、ユーザ４６が保護モードの終了を要求する（ブロック９０）権限を与えられていない場合、図４において以下で説明されるように、コントローラ２８、３０は、相互認証を用いて、保護モードでの動作を続けてもよい（ブロック８８）。
【００２９】
図４は、相互認証を用いて、コントローラ２８、３０を保護モードで動作させるプロセスの実施形態の流れ図である。コントローラ２８、３０が保護モードにあるとき、ユーザ４６は、コントローラ２８、３０との通信の要求を提出してもよい（ブロック１００）。この要求は、保護モードを終了する（図３に示されたブロック９４）要求、コントローラ２８、３０によって制御される作業条件を変更する要求、コントローラ２８、３０のパラメータを変更する要求、コントローラ２８、３０用のファームウェアを更新する要求、コントローラ２８、３０を再プログラムする要求、またはコントローラ２８、３０と行なわれ得る任意のその他の通信を含むことができる。さらに、ユーザ４６は、通信の要求を提出するステップ（ブロック１００）の一部分として、ユーザ証明書４４を提出してもよい。コントローラ２８、３０は、この要求を実施する前に、ユーザ証明書４４が有効かどうか判断する（判断１０４）ために、ユーザ４６のユーザ証明書４４を確認してもよい（ブロック１０２）。ユーザ証明書４４が有効でない場合（判断１０４）、コントローラ２８、３０は、セキュリティ違反の警告を出してもよい（ブロック１０５）。特定の実施形態では、セキュリティ違反は、例えばシステム管理者による後のアクセスのために、コントローラ２８、３０の記憶装置６２に記憶されてもよい。しかし、ユーザ証明書４４が有効である場合（判断１０４）、コントローラ２８、３０は、次いで、遠隔装置１２に対してコントローラ証明書４８を提出してもよい（ブロック１０６）。遠隔装置は、コントローラ証明書４８が有効かどうか判断してもよい（判断１０８）。コントローラ証明書４８が有効でない場合（判断１０８）、遠隔装置１２は、セキュリティ違反の警告を出してもよい（ブロック１０５）。しかし、コントローラ証明書４８が有効である場合、コントローラ２８、３０は、遠隔装置１２との安全な接続を確立してもよい（ブロック１１０）。以前に論じたように、安全な接続は、ＳＳＬ、ＴＳＬ、または別の適切な暗号プロトコルを用いてもよい。
【００３０】
コントローラ２８、３０は、安全な接続を確立した（ブロック１１０）後に、役割ベースのアクセスを用いて、元の要求を確認してもよい（ブロック１１２）。前述のように、証明書４０は、役割を含む属性を含み、その役割に基づいて構成ツール５２との相互作用を制限する。コントローラ２８、３０は、保護モードで動作している間中（プロセス８８）、要求が提出された（ブロック１００）ときは常に、相互認証を用いてユーザ証明書４４を確認し続けてもよい（ブロック１０２）。これによって、特に、ユーザ４６が変わり、続いてユーザ証明書４４が変更されるとき、制御システムのセキュリティがさらに向上し得る。例えば、プラントエンジニアは、通信の要求を提出することができ（ブロック１００）、ユーザ証明書４４に含まれる役割情報に基づいて読出書込アクセスを得てもよい。後に、プラント操作員が、通信の要求を提出することができ（ブロック１００）、ユーザ証明書４４に基づいて読取り専用のアクセスを得てもよい。連続した確認（ブロック１０２、１０８、１１２）により、各ユーザの要求は、実施される前に、権限を与えられていることが確実になり得る。
【００３１】
本発明の技術的な効果には、相互認証を用いることによって１つまたは複数のコントローラを保護するのに適したシステムおよび方法が含まれる。相互認証を提供することにより、ユーザは、コントローラの識別情報を実質的に確認し得る。コントローラは、相互的に、ユーザの識別情報を確認してもよい。したがって、相互認証により、コントローラの不正なアクセスまたは変更の可能性が低下され得る。相互認証には、上記で論じたように、ユーザとコントローラの間の相互作用を制限するための役割ベースのアクセスが含まれ得る。さらに、相互認証は、保護モードで動作させる要求を受け取ったとき、または保護モードにある間に通信の要求を受け取ったときなど、コントローラの動作中、さまざまなときに実施されてもよい。
【００３２】
本書は、最良の形態を含めて本発明を開示するために、また、あらゆる当業者が、あらゆる装置またはシステムを製作して使用すること、ならびにあらゆる組み込まれた方法を実施することを含めて本発明を実施することをも可能にするために、例を用いている。本発明の特許性のある範囲は、特許請求の範囲によって規定され、当業者に想起される他の例を含み得る。そのような他の例は、特許請求の範囲の文字どおりの言葉と異ならない構造要素を有する場合、または特許請求の範囲の文字どおりの言葉と実質的に異ならない均等な構造要素を含む場合、特許請求の範囲に入るものとする。
【符号の説明】
【００３３】
１０  工業プロセス制御システム
１２  遠隔装置
１４  ヒューマンマシンインターフェース
１６  生産実行システム
１７  分散型制御システム
１８  監視制御とデータ収集のシステム
２０  ネットワークバス
２２  装置
２４  装置
２６  装置
２７  タービンシステム
２８  コントローラ
２９  ターボ機械
３０  コントローラ
３２  セキュリティ機関
３４  セキュリティ機関
４０  証明書
４２  セキュリティサーバ
４３  記憶装置
４４  ユーザ証明書
４６  ユーザ
４８  コントローラ証明書
５０  セキュリティライブラリ
５２  構成ツール
５４  プロセッサ
５６  記憶装置
５８  遠隔装置のセキュリティプロセス
６０  プロセッサ
６２  記憶装置
６４  セキュリティ機関証明書
６６  サーバのセキュリティプロセス
【図１】
0005593416.tif 000002
【図２】
0005593416.tif 000003
【図３】
0005593416.tif 000004
【図４】
0005593416.tif 000005