(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6605959
(24)【登録日】2019年10月25日
(45)【発行日】2019年11月13日
(54)【発明の名称】高度制御システムセキュリティのためのシステムおよび方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20191031BHJP
【FI】
G05B23/02 V
【請求項の数】12
【全頁数】17
(21)【出願番号】特願2015-555175(P2015-555175)
(86)(22)【出願日】2014年1月7日
(65)【公表番号】特表2016-506002(P2016-506002A)
(43)【公表日】2016年2月25日
(86)【国際出願番号】US2014010454
(87)【国際公開番号】WO2014116411
(87)【国際公開日】20140731
【審査請求日】2016年12月27日
【審判番号】不服2018-6855(P2018-6855/J1)
【審判請求日】2018年5月21日
(31)【優先権主張番号】13/749,670
(32)【優先日】2013年1月24日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】390041542
【氏名又は名称】ゼネラル・エレクトリック・カンパニイ
(74)【代理人】
【識別番号】100105588
【弁理士】
【氏名又は名称】小倉 博
(74)【代理人】
【識別番号】100113974
【弁理士】
【氏名又は名称】田中 拓人
(72)【発明者】
【氏名】ブラウン,スーザン・ジーン
(72)【発明者】
【氏名】ショー,リチャード・ウィリアム
(72)【発明者】
【氏名】エマリー,ジェフリー・マーティン
【合議体】
【審判長】
栗田 雅弘
【審判官】
小川 悟史
【審判官】
見目 省二
(56)【参考文献】
【文献】
特開2011−204238(JP,A)
【文献】
特開2002−135867(JP,A)
【文献】
特開2005−157845(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
工業システムを制御するコントローラと、
ユーザIDとアプリケーション証明書を特定する情報とを有する第1のマッピングデータ構造および前記ユーザID及び他のユーザIDをユーザ特権に関連付ける第2のマッピングデータ構造を記憶するように構成されたデータリポジトリと、
前記コントローラと前記データリポジトリとに通信可能に結合した、プロセス制御(OPC)統一アーキテクチャ(UA)サーバと、
を備え、
前記OPC UAサーバは、
クライアントからのアプリケーション証明書を受信して、セキュリティ通信プロトコルを使用したOPC UAクライアントとの通信接続を開始し、
前記第1のマッピングデータ構造を使用して前記OPC UAクライアントのユーザIDを特定し、
前記セキュリティ通信プロトコルを使用した通信接続が開始した後、自動的に、前記第2のマッピングデータ構造と前記アプリケーション証明書を使用して、前記OPC UAクライアントのユーザ特権を特定し、
特定されたユーザ特権に基づいて前記コントローラへのアクセス権を前記OPC UAクライアントに提供して、前記OPC UAクライアントが前記コントローラに指示して前記工業システムの制御動作を実行させることを可能にするように構成される、システム。
【請求項2】
前記OPC UAサーバが、前記OPC UAクライアントのユーザIDを特定するために前記第1のマッピングデータ構造に前記アプリケーション証明書を入力し、前記OPC UAクライアントのユーザ特権を特定するために前記第2のマッピングデータ構造に前記ユーザIDを入力するように構成された、請求項1に記載のシステム。
【請求項3】
前記アプリケーション証明書が、証明書の通し番号、アルゴリズム、発行者の識別、有効期間、および、署名セクションとを含む証明書オブジェクトである、請求項1または2に記載のシステム。
【請求項4】
前記データリポジトリが、前記第1のマッピングデータ構造および前記第2のマッピングデータ構造を保持するデータストアを備え、
前記OPC UAサーバが、サーバ証明書を前記OPC UAクライアントに送信するように構成され、前記OPC UAクライアントが、前記サーバ証明書を使用することによって前記OPC UAサーバを認証し、前記OPC UAクライアントのユーザのユーザ特権を判定するために、前記アプリケーション証明書を前記データストアに送信するように構成され、
前記データストアが、前記ユーザIDと前記ユーザ特権とを前記OPC UAサーバに送信するように構成された、請求項1乃至3のいずれかに記載のシステム。
【請求項5】
前記OPC UAサーバが、前記アプリケーション証明書および信頼されたストアを使用することによって前記OPC UAクライアントを認証するように構成される、請求項1乃至4のいずれかに記載のシステム。
【請求項6】
前記第1のマッピングデータ構造および前記第2のマッピングデータ構造を作成するように構成されたアプリケーション証明書マッピング(ACM)システムを備え、
前記ACMシステムが、前記ユーザIDを前記アプリケーション証明書に視覚的に関連付けることによって前記第1のマッピングデータ構造を作成するように構成されたユーザ対アプリケーション証明書マッピング画面を備え、
前記ACMシステムが、前記ユーザIDを前記ユーザ特権に視覚的に関連付けることによって前記第2のマッピングデータ構造を作成するように構成されたユーザ対ユーザ特権マッピング画面を備える、請求項1乃至5のいずれかに記載のシステム。
【請求項7】
前記コントローラが、タービンシステム、ガス化システム、工業プラント、発電システム、またはそれらの組合せの動作を制御するように構成された三重モジュール式冗長(TMR)コントローラであり、
前記工業システムが、ガスタービンシステム、ガス化システム、蒸気タービンシステム、風力タービンシステム、水力タービンシステム、発電システム、またはそれらの任意の組合せを備える工業オートメーションシステムである、請求項1乃至6のいずれかに記載のシステム。
【請求項8】
アプリケーション証明書管理システムを使用して、ユーザIDとアプリケーション証明書を特定する情報とを有する第1のマッピングデータ構造を作成するステップと、
前記アプリケーション証明書管理システムを使用して、前記ユーザID及び他のユーザIDをユーザ特権に関連付ける第2のマッピングデータ構造を作成するステップと、
プロセス制御のためのオブジェクトのリンクと埋め込み(OLE)(OPC)統一アーキテクチャ(UA)クライアントから前記アプリケーション証明書をプロセス制御(OPC)統一アーキテクチャ(UA)サーバが受信するステップと、
前記OPC UAサーバを使用して、前記アプリケーション証明書が信頼されたストアに記録されているかを判定するステップと、
前記アプリケーション証明書が前記信頼されたストアに記録されている場合、前記アプリケーション証明書に基づいて、セキュリティ通信プロトコルを使用した前記OPC UAクライアントとの通信接続を開始し、前記第1のマッピングデータ構造を使用して、前記OPC UAクライアントのユーザIDを前記OPC UAサーバを使用して特定するステップと、
前記セキュリティ通信プロトコルを使用した通信接続が開始した後、自動的に、前記第2のマッピングデータ構造と前記アプリケーション証明書を使用して、前記OPC UAクライアントのユーザ特権を前記OPC UAサーバを使用して特定するステップと、
前記OPC UAサーバを使用して、特定されたユーザ特権に基づいて、前記OPC UAクライアントにコントローラへのアクセス権を付与し、前記OPC UAクライアントが前記コントローラに指示して工業システムの制御動作を実行させることを可能にするステップと、
を含む、方法。
【請求項9】
前記第1のマッピングデータ構造および前記第2のマッピングデータ構造の使用が、前記第1のマッピングデータ構造を使用することによって前記ユーザIDを前記アプリケーション証明書に突き合わせるステップと、前記第2のマッピングデータ構造を使用することによって前記ユーザ特権を前記ユーザIDに突き合わせるステップとを含む、請求項8記載の方法。
【請求項10】
前記ユーザ特権が、発電システムまたは自動製造システムに行われるメソッド呼出しに対応する、請求項8または9に記載の方法。
【請求項11】
グラフィカルユーザインターフェース(GUI)に前記第1のマッピングデータ構造および前記第2のマッピングデータ構造を表示するステップを含み、
前記第1のマッピングデータ構造が、複数のユーザIDを1つのアプリケーション証明書に関連付け、
前記アプリケーション証明書が、証明書オブジェクトである、請求項8乃至10のいずれかに記載の方法。
【請求項12】
工業システムのプロセッサによって実行可能な複数の命令を記憶する、有形の、非一時的な、コンピュータ可読媒体であって、前記命令が、
ユーザIDとアプリケーション証明書を特定する情報とを有する第1のマッピングデータ構造を作成し、
前記ユーザID及び他のユーザIDをユーザ特権に関連付けるように構成された第2のマッピングデータ構造を作成し、
前記工業システムへのアクセス権限を要求するプロセス制御のためのオブジェクトのリンクと埋め込み(OLE)(OPC)統一アーキテクチャ(UA)クライアントから前記アプリケーション証明書を受信して、前記アプリケーション証明書に基づいて、セキュリティ通信プロトコルを使用した前記OPC UAクライアントとの通信接続を開始し、
データリポジトリに記録された前記第1のマッピングデータ構造を使用して、前記OPC UAクライアントのユーザIDを特定し、
前記セキュリティ通信プロトコルを使用した通信接続が開始した後、自動的に、前記データリポジトリに記録された前記第2のマッピングデータ構造と前記アプリケーション証明書を使用して、前記OPC UAクライアントのユーザ特権を特定し、
特定されたユーザ特権に基づいて、前記OPC UAクライアントにコントローラへのアクセス権を付与し、前記OPC UAクライアントが前記コントローラに指示して前記工業システムの制御動作を実行させるための命令を備える、媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示される主題は、高度セキュリティ制御システムのためのシステムおよび方法に関する。
【背景技術】
【0002】
工業オートメーションシステムなどのある種のシステムは、システムの制御および監視を可能にする機能を含むことがある。たとえば、工業オートメーションシステムは、コントローラ、フィールドデバイス、および、その後の分析のためにデータを監視するセンサを含み得る。さらに、そのような工業制御システムは、コントローラに結合することができ、「プロセス制御のためのオブジェクトのリンクと埋め込み(OLE)(OPC)」統一アーキテクチャ(UA)プロトコルに従って他のシステムと通信することができる、1つまたは複数のデバイスを含み得る。OPC UAは、OPC Foundationによって指定された工業オートメーションシステム(たとえば、自動発電システムおよび自動製造システム)で使用される製造業者に依存しない通信のためのプロトコルである。たとえば、工業オートメーションシステムは、工業オートメーションシステムの動作パラメータに関する情報を全体として記憶することができるOPC UAサーバを含み得る。加えて、OPC UAサーバはまた、別の場所で動作する1つまたは複数のOPCクライアントに、ネットワーク接続を介して、この情報を入手可能にすることができる。それは、制御システムセキュリティを改善するために有益になろう。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開第2011/035792A1号明細書
【発明の概要】
【課題を解決するための手段】
【0004】
出願時に特許請求されている発明と範囲において同等のある種の実施形態が、以下に要約される。これらの実施形態は、特許請求されている本発明の範囲を限定するものではなく、むしろ、これらの実施形態は、本発明の可能な形態の簡潔な要約を提供することのみを意図されている。実際、本発明は、以下に記載の実施形態と同様であり得るまたはそれらとは異なり得る様々な形態を包含し得る。
【0005】
第1の実施形態では、システムは、ユーザをアプリケーション証明書に関連付ける第1のマッピングと、ユーザをユーザ特権に関連付ける第2のマッピングとを記憶するように構成されたデータリポジトリを有するコントローラを含む。本システムはさらに、OPC UAクライアントからのアプリケーション証明書の受信とユーザ特権の実施に基づいてサーバアクセスを提供するように構成され、ユーザ特権が第1のマッピングおよび第2のマッピングに基づいて検索可能である、OPC統一アーキテクチャ(UA)サーバを含む。
【0006】
第2の実施形態では、方法は、ユーザをアプリケーション証明書に関連付ける第1のマップと、そのユーザをユーザ特権に関連付ける第2のマップとを作成するステップを含む。本方法はまた、OPC統一アーキテクチャ(UA)クライアントからアプリケーション証明書を受信するステップを含む。本方法はさらに、ユーザ特権の検索に基づいてコントローラへのアクセスを限定するステップを含み、そのユーザ特権の検索は、第1のマッピングおよび第2のマッピングの使用を含む。
【0007】
第3の実施形態では、有形の、非一時的、コンピュータ可読媒体が、電子デバイスのプロセッサによって実行可能な複数の命令を記憶し、その命令は、ユーザをアプリケーション証明書に関連付ける第1のマップとそのユーザをユーザ特権に関連付ける第2のマップとを作成するための命令を含む。その命令はまた、OPC統一アーキテクチャ(UA)クライアントからアプリケーション証明書を受信するための命令を含む。その命令はさらに、ユーザ特権に基づいてコントローラへのアクセスを限定するための命令を含み、ユーザ特権は、第1のマッピングおよび第2のマッピングを使用することによって判定される。
【0008】
同様の文字が図面をとおして同様の部分を表す添付の図面を参照し、以下の詳細な説明が読まれるときに、本発明のこれらのおよび他の特徴、態様、および利点は、よりよく理解されよう。
【図面の簡単な説明】
【0009】
【
図1】コントローラ、OPC UAサーバ、およびOPC UAクライアントを含む工業制御システムの一実施形態のブロック図である。
【
図2】
図1に示す、アクセスがOPC UAサーバに限定されるプロセスの一実施形態を示す流れ図である。
【
図3】
図1に示すOPC UAクライアントとOPC UAサーバの間の通信の一実施形態を示す情報流れ図である。
【
図4】複数のユーザおよび関連する証明書を示す画面ビューの一実施形態を示す図である。
【
図5】証明書のクラスおよびユーザ名の選択を示す画面ビューの一実施形態を示す図である。
【
図6】複数のユーザおよび関連する特権を示す画面ビューの一実施形態を示す図である。
【発明を実施するための形態】
【0010】
本発明の1つまたは複数の特定の実施形態が、以下に説明されることになる。これらの実施形態の簡潔な説明を提供することを目的として、実際の実装形態のすべての特徴は、本明細書には記載されないことがある。任意のそのような実際の実装形態の開発では、どの技術または設計プロジェクトでもそうであるように、実装形態によって変わり得る、システム関連およびビジネス関連の制約の順守など、開発者の特定の目的を達成するために、多数の実装形態特有の決定が行われる必要があることを理解されたい。さらに、そのような開発活動は、複雑で時間を要することがあるが、それでもなお、本開示の利益を有する当業者のための設計、製作、および製造を請け負うルーチンであろうことを理解されたい。
【0011】
本発明の様々な実施形態の要素を紹介するとき、「a」、「an」「the」、および「said」という冠詞は、それらの要素が1つまたは複数存在することを意味するものである。「備える」、「含む」、および、「有する」という用語は、包括的なものであり、記載された要素以外の追加の要素が存在し得ることを意味する。
【0012】
本明細書に記載のある種の実施形態では、OPC UAプロトコルは、OPC UAサーバおよびユーザ(人間のユーザおよび/または自動化されたエンティティ)がOPC UAクライアントを使用してネットワークを介して互いに通信することを可能にするために、自動発電システム(たとえば、ガス、蒸気、風力、または水力タービン、熱回収蒸気発生器(HRSG)、ガス化システム、燃焼システム、発電機、または同様の自動発電システム)および自動製造システム(たとえば、化学プラント、石油精製所、または同様の製造システム)などの工業オートメーションまたは制御システムで使用され得る。所望のセキュリティレベルを実現するために、および、OPC UAサーバとユーザの間の通信の制御を改良するために、ユーザおよび関連ユーザ情報をより効率的に識別することはOPC UAサーバの利益になり得る。たとえば、より効率的にユーザを識別することによって、OPC UAサーバは、より速くユーザをユーザ特権に関連付け、その関連付けに基づいてより高速の制御動作を行うことができる。
【0013】
したがって、ここで開示される実施形態は、OPC UAクライアントのユーザ、アプリケーション証明書、ユーザ役割、およびユーザ特権の間の複数のマッピングを作成および使用することができる。たとえば、1つのマッピングは、ユーザをアプリケーション証明書に関連付けることができ、もう1つのマッピングは、ユーザをユーザ特権に関連付けることができる。サーバにアプリケーション証明書を提示することによって、クライアントは、そのアプリケーション証明書にリンクされたユーザに関連付けられたすべての役割および特権を与えられ得る。さらに、ここで開示される実施形態は、基礎となるクライアントまたはサーバセキュリティOPCアーキテクチャを変えなくてもまたは損なわなくてもよい。言い換えれば、OPC Foundationによって定められた仕様に合うOPC UAクライアントが、再コード化なしに使用され得る。そのような例示的クライアントの一例は、オハイオ州オーバーン郡区のOPC Foundationから入手可能である。実際、かなりの数のOPCクライアントは、開示される技法を修正なしに使用することができる。
【0014】
前述を考慮し、本明細書で開示される技法を組み込むオートメーションシステムを説明することは有益であり得る。したがって、
図1は、本明細書で開示される改良された制御セキュリティ技法を組み込む工業オートメーションシステムの例示的実施形態としてガスタービンシステム10を示す。図示するように、タービンシステム10は、燃焼するための燃料/空気混合物を受け取ることができる燃焼器12を含み得る。この燃焼は、高温の加圧された排気ガスを作り出し、燃焼器12は、タービン14(たとえば、ロータの部分)を介して排気口16にその排気ガスを向ける。その排気ガスがタービン14を通過するとき、結果として生じる力によりタービンブレードがタービンシステム10の軸に沿ってドライブシャフト18を回転させる。図示するように、ドライブシャフト18は、圧縮機20を含むタービンシステム10の様々な部品に接続される。
【0015】
ドライブシャフト18は、たとえば、同心円状に位置合わせされ得る、1つまたは複数のシャフトを含み得る。ドライブシャフト18は、タービン14を圧縮機20に接続してロータを形成するシャフトを含み得る。圧縮機20は、ドライブシャフト18に結合されたブレードを含み得る。それにより、タービン14内のタービンブレードの回転は、圧縮機20にタービン14を接続するシャフトに圧縮機20内のブレードを回転させることができる。圧縮機20内のブレードの回転は、空気取り入れ口22を介して受け取られた空気を圧縮する。圧縮された空気は、燃焼器12に送り込まれ、燃料と混合されて、より高い効率の燃焼を可能にする。シャフト18はまた、負荷24に接続されてもよく、負荷24は、乗り物であっても、発電所の発電機または航空機のプロペラなど固定負荷でもあってもよい。負荷24が発電機であるとき、その発電機は、たとえば住宅および商用のユーザに、電力を分配するための電力網26に結合され得る。
【0016】
タービンシステム10はまた、タービンシステム10の動作および性能に関する複数のエンジンパラメータを監視するように構成された複数のセンサおよびフィールドデバイスを含み得る。たとえば、それらのセンサおよびフィールドデバイスは、それぞれ、たとえば、タービン14、および圧縮機20の入口および出口部分、に隣接して位置付けられた入口センサおよびフィールドデバイス30と、出口センサおよびフィールドデバイス32とを含み得る。入口センサおよびフィールドデバイス30と出口センサおよびフィールドデバイス32とは、たとえば、周囲温度および周囲気圧などの環境条件、ならびに、排気ガス温度、ロータ速度、エンジン温度、エンジン圧力、ガス温度、エンジン燃料流量、排気流量、振動、回転する部品と固定部品の間の間隔、圧縮機排出圧力、汚染(たとえば、窒素酸化物、硫黄酸化物、酸化炭素および/または微粒子総数)、およびタービン排気圧力などのタービンシステム10の動作および性能に関する複数のエンジンパラメータを測定することができる。さらに、センサおよびフィールドデバイス30および32はまた、バルブの位置、および可変ジオメトリ部品(たとえば、空気入口にある入口ガイドベーン)の幾何学的位置などのアクチュエータ情報を測定することができる。それらの複数のセンサおよびフィールドデバイス30および32はまた、タービンシステム10の様々な動作段階に関するエンジンパラメータを監視するように構成され得る。複数のセンサおよびフィールドデバイス30および32によって得られた測定結果(すなわち、工業オートメーションシステム10の動作パラメータ)は、コントローラ38に通信で結合され得るモジュールライン34および36を介して、送信され得る。コントローラ38は、三重モジュール式冗長(TMR)コントローラなどの冗長コントローラでもよい。冗長コントローラ38は、処理コアなどの複数の(たとえば2つ、3つ、4つ、5つ、またはそれ以上の)システムを含む。たとえば、TMRコントローラ38は、3つのシステムの多数決によって判定された出力で単一のタスクを実行する3つのシステム(たとえば、処理コア)を有する。たとえば、モジュールライン34は、圧縮機20から測定結果を送信するために使用することができ、一方、モジュールライン36は、タービン14から測定結果を送信するために使用することができる。コントローラ38は、それらの測定結果を使用してタービンシステム10をアクティブに制御することができる。
【0017】
燃焼器12センサ、排気装置16センサ、取り入れ口22センサ、間隔センサ、および負荷24センサを含む他のセンサが使用され得ることを理解されたい。同様に、Fieldbus Foundation、Profibus、および/またはHartフィールドデバイスなどの「スマート」フィールドデバイスを含む任意のタイプのフィールドデバイスが、使用され得る。ガスタービンシステム10は、工業オートメーションシステムの単に例示的実施形態であり、他の工業オートメーションシステムは、たとえば、ガスタービン、蒸気タービン、風力タービン、もしくは水力タービン、熱回収蒸気発生器(HRSG)、発電機、燃料スキッド、ガス処理システム、または任意の他の自動発電システムもしくは部分的に自動の発電システムなどの自動発電システムを含み得ることもまた理解されたい。他の工業オートメーションシステムは、化学プラント、製薬工場、石油精製所、自動生産ラインまたは同様の自動のもしくは部分的に自動の製造システムなどの自動製造システムを含み得る。
【0018】
前述のように、OPC UAサーバ40は、それが、システム10の動作パラメータに関するコントローラ38からのデータを要求および/または受信することができるように、コントローラ38に通信で結合され得る。ある種の実施形態では、OPC UAサーバ40は、コントローラ38の部分でもよく、または、ネットワーク接続(たとえば、内部ネットワーク接続41)を介してコントローラ38に結合され得る。システム10の動作パラメータは、たとえば、ガスタービンシステム10などの工業オートメーションシステムのコントローラ38によって一般に追跡することができる、状況(たとえば、機能、動作、機能不良、セキュリティ、または同様の状況)、性能(たとえば、パワー出力、1分当たりの回転、負荷、または同様の性能パラメータ)、環境条件(たとえば、温度、圧力、電圧、電流、特定の分析物の存在もしくはレベル、または同様の環境条件)などに関する情報を含み得る。
【0019】
開示されるOPC UAサーバ実施形態は、OPC UAサーバ40とOPC UAクライアント46などのOPC UAクライアントを使用するユーザ44との間の通信のより多くの制御を可能にするが、OPC UAクライアント46は、一般に、標準プロトコルに従って、開示されるOPC UAサーバ40と通信することができる(たとえば、外部ネットワーク接続48を使用して)。たとえば、OPC UAサーバ40は、サーバ40を識別するサーバ証明書49を送信することになり、OPC UAクライアント46は、ユーザ44を識別するアプリケーション証明書50をOPC UAサーバ40に送信することになる。前述のように、OPC UAクライアント46は、任意の標準OPC UAクライアントでもよく、そのようなものとして、実質的に最も多くのOPC認定クライアントが、本明細書に記載の技法を使用することができる。たとえば、一実施形態では、OPC UA46クライアントは、ニューヨーク州スケネクタディのGeneral Electric Companyから入手可能なControlSTTMを含み得る。ControlSTTMは、マシン可読媒体に記憶され、たとえばコントローラ38の、コミッショニング、プログラミング、設定1/0、傾向分析、および分析診断のために使用される、非一時的実行可能ソフトウェアまたはコンピュータ命令を含み得る。そのソフトウェアは、コントローラ38での改良された品質の時間コヒーレントなデータのソースと、機器資産をより効果的に制御および/または管理するためのプラントレベルとを提供することができる。
【0020】
一般に、データストア54は、任意のタイプのデータリポジトリでもよい。たとえば、データストア54は、データベースまたは他のタイプのデータサーバでもよい。加えて、ある種の実施形態では、データストア54は、コントローラ38の部分でもよい。データストア54は、現場に存在し、OPC UAサーバ40に通信で結合することができ(たとえば、内部バスまたは内部ネットワーク接続でもよい接続55を介して)、あるいは、現場外にあり、外部ネットワーク接続を介してOPC UAサーバ40に結合され得る。他の実施形態では、データストア54は、OPC UAサーバ40と同じ電気デバイス(たとえば、コンピュータ、サーバ、または同様の処理もしくは計算デバイス)上にあってもよく、その通信は、ローカル接続(たとえば、ローカルループバック、共用ファイルまたは記憶空間など)を代わりに含んでもよい。
【0021】
図示されたデータストア54は、ユーザ、アプリケーション証明書、ユーザ役割、およびユーザ特権の間の前述のマッピングと、ユーザに関連する任意の他のデータとを記憶することができる。そのユーザは、人間のユーザ、自動化されたエンティティ(たとえば、ソフトウェアおよび/またはハードウェアエンティティ)、あるいはそれらの組合せを含み得る。一実施形態では、第1のマッピング56は、ユーザをアプリケーション証明書に関連付ける。第2のマッピング58は、ユーザをユーザ特権に関連付ける。他の実施形態では、第3のマッピング60がユーザを少なくとも1つのユーザ役割(たとえば、システム管理者役割、コミッショニング技術者役割、基本的ユーザ役割)に関連付けることを理解されたい。前述のマッピングは、アプリケーション証明書管理(ACM)システム61内で作成され、データストア54に通信で結合され得る。いくつかの実施形態では、ACM61は、システム管理者が手動か自動かのいずれかで関連付けを作成することを可能にするアプリケーションでもよい。以下にさらに示すように、そのアプリケーションは、マッピング56、58、60を視覚化ならびに編集するためのグラフィカルユーザインターフェース(GUI)を含むと有用であることがある。マッピングは、所定でも、そのアプリケーションを実行することができる任意のコンピューティングマシンで作成されてもよい。マッピング56、58、60は、ネットワーク接続を介して、または携帯記憶装置(たとえば、サムドライブ、DVD)を使用することによって、データストア54に転送することができる。したがって、ACMは現場にあっても現場外にあってもよいことを理解されたい。一代替実施形態では、ACM61は、データストア54と同じ計算デバイス(たとえば、ワークステーション、ラップトップ、タブレット、携帯電話)上にあって、ローカル接続を伴い得る。
【0022】
信頼されたストア62は、OPC UAサーバ40にアクセスするために使用されるアプリケーション証明書の信頼されたリスト64を記憶することができる。一実施形態では、信頼されたストア62は、OPC UA機能を提供するOPC UAオーバレイまたは層を有する標準Microsoft Windows(登録商標)証明書ストアである。その証明書ストアの使用は、次いで、たとえばシステム管理者による、信頼されたリスト64の容易な編集を可能にすることができる。さらに、これらの技法は、OPC UAサーバ40およびOPC UAクライアント46と連動した共通の規格、たとえば、Microsoft Windows(登録商標)証明書ストア、の使用を実現する。任意の他の共通の証明書ストア規格が、開示される実施形態で使用され得る。信頼されたストア62は、OPC UAサーバ40に通信で結合される。ある種の実施形態では、信頼されたストア62は、現場にあって、たとえば内部ネットワーク接続を介して、OPC UAサーバ40と通信することができ、あるいは、現場外にあって、外部ネットワーク接続を介してOPC UAサーバ40に結合されてもよい。これらの実施形態では、信頼されたストア62は、任意のMicrosoft Windows(登録商標)証明書ストアにアクセスすることができるコンピューティングマシンで使用され得ることを理解されたい。他の実施形態では、信頼されたストア62は、OPC UAサーバ40と同じ計算デバイス(たとえば、コンピュータ、サーバ、ラップトップ、タブレット、携帯電話、携帯デバイス、または同様の処理もしくは計算デバイス)上にあってもよく、その通信は、代わって、ローカル接続(たとえば、ローカルエリアネットワーク(LAN))を伴い得る。その通信は、
図2に関して以下にさらに詳しく説明されるように、証明書49、50を交換し、たとえばユーザ44特権および役割を、導出するために使用することができる。
【0023】
図2は、それによってOPC UAサーバ40が、ここで開示される実施形態に従ってアクセスを限定することができる、プロセス120の一実施形態を示す流れ図である。プロセス120は、コントローラ38、サーバ40、クライアント46、データストア54、またはそれらの組合せのメモリなどのマシン可読媒体内に記憶された実行可能な非一時的コンピュータ命令またはコード内に含まれ得る。プロセス120は、第1のマッピング56をACM61が作成すること(ブロック121)で開始し得る。前述のように、第1のマッピング56は、1人または複数のユーザ44を1つまたは複数のアプリケーション証明書50に関連付ける、またはリンクする。次に、ACM61が、第2のマッピング58を作成する(ブロック122)。前述のように、第2のマップ58は、1人または複数のユーザ44を1つまたは複数のユーザ特権と関連付ける。そのユーザ特権は、読み取る、書き込む、更新する、他のメソッド呼出しを行う、または、より一般的には、OPC UAサーバ40にアクセスするための能力を含む。ユーザ特権は、発電システムまたは自動製造システムなどのシステム10に行われ得るメソッド呼出しに相当し得ることを理解されたい。マップ56、58が作成された後は、OPC UAサーバ40は、OPC UAクライアント46などのOPC UAクライアントからアプリケーション証明書50を受信する(ブロック123)。アプリケーション証明書50および第1のマッピング56を使用し、OPC UAサーバ40は、OPC UAクライアント46でユーザ44を導出する(ブロック124)。すなわち、第1のマッピング56は、サーバ40が、受信されたアプリケーション証明書50を使用すること、および、関連ユーザの識別を導出することを可能にする。したがって、追加のユーザ身分証明、(たとえば、ユーザ名、パスワード)を入力するのに費やされたであろう時間は、最小限に抑えるまたは削減することができる。ユーザ44が導出された後、OPC UAサーバ40は、導出されたユーザ44および第2のマッピング58を使用し、ユーザ特権を導出する(ブロック125)。第2のマッピング58は、サーバ40が、導出されたユーザ44を使用すること、および、ユーザ44に関連するユーザ特権を導出することを可能にする。それにより、OPC UAサーバ40は、導出されたユーザ特権に基づいてクライアント46へのアクセスを限定することができる(ブロック126)。たとえば、クライアント46がサーバ40に書込みをしようと試みる場合、サーバ40は、次いで、導出されたユーザ特権を確認して、クライアント46が書込み特権を提供されているかどうかを判定することができる。サーバ40は、コントローラ38に通信で結合され得るまたはコントローラ38に含まれ得るので、導出された特権は、コントローラ38へのアクセスを限定するために使用され得る。したがって、コントローラ38によって行われる制御動作は、送信された証明書50と、導出されたユーザ特権および/または役割とに基づいて、限定され得る。この方式で、マッピング56、58は、より効率的なコントローラ38セキュリティシステムを可能にすることができる。
【0024】
図3は、
図2に示されたプロセス120によるOPC UAクライアント46とOPC UAサーバ40の間の通信の一実施形態を示す情報流れ図である。OPC UAクライアント46とOPC UAサーバ40の間の通信は、トランスポート層セキュリティ(TLS)またはセキュリティソケット層(SSL)などの任意の標準セキュリティプロトコルを使用してもよい。たとえば、一実施形態では、OPC UAサーバ40とOPC UAクライアント46の間の最初の接続130の後、OPC UAサーバ40は、OPC UAクライアント46がそれが所望のサーバ40と通信していることを確認することができるように、OPC UAクライアント46にサーバ証明書49を送信することになる。OPC UAクライアント46がそれが所望のサーバ40と通信していることを確認した後は、OPC UAクライアント46は、アプリケーション証明書50をOPC UAサーバ40に送信して、OPC UAクライアント46を使用するまたはそれに関連付けられたユーザ44を識別することになる。使用することができる1つのタイプのアプリケーション証明書50は、X.509証明書である。X.509証明書規格は、証明書所有者をそれの公開鍵に暗号法で結び付ける。X.509証明書は、データセクション(すなわち、バージョン番号、その証明書の通し番号、アルゴリズム、発行者の識別、有効期間、および、主題の識別)と、署名セクションとを含む。他の証明書タイプは、EV(Extended Validation、拡張された検証)SSL証明書、OV(Organization Validation、組織検証)SSL証明書、および、DV(Domain Validation、ドメイン検証)SSL証明書を含み得る。
【0025】
アプリケーション証明書50を受信した後、OPC UAサーバ40は、OPC UAクライアント46がOPC UAサーバ40と通信することを許可されることを確保するために、アプリケーション証明書50が信頼されたストア62内で見つかることを確認する(通信矢印131)。次に、アプリケーション証明書50が、OPC UAクライアント46のユーザのユーザ特権を判定するために(導出132)、データストア54に送信される。前述のように、データストア54は、アプリケーション証明書50をユーザ44に関連付ける第1のマッピング56と、ユーザ44をユーザ特権および/または役割に関連付ける第2のマッピングとを使用することができる。データストア54は、ユーザ役割をユーザ特権に関連付ける第3のマッピングを使用することができることを理解されたい。ユーザとユーザ役割、ユーザとコントローラ動作、ユーザとハードウェア、ユーザとアプリケーションなどの間のマッピングを含む、他のマッピングが、マッピング56、58、60に加えてまたはそれらの代わりに使用され得る。したがって、ユーザアクセスは、そのユーザが使用することを許可され得るコントローラ動作、ハードウェア、および/またはソフトウェアアプリケーションを導出することによって、見つけることができる。ユーザ特権および/または役割が導出された(導出132)後は、特権フィルタ134が、OPC UAサーバ40内で作成される。それにより、OPC UAクライアント46のユーザ44がメソッド呼出し133を行おうとまたは他の方法でOPC UAサーバ40にアクセスしようと試みる度に、OPC UAサーバ40は、クライアント46が適切なユーザ特権および/または役割を有するかどうかを確認することになる。OPC UAサーバ40がクライアント46が適切なユーザ特権および/または役割を有さないと判定した場合、OPC UAサーバ40は、不良アクセス結果135で応答することができる。他方で、クライアント46が適切な特権および/または役割を有する場合、OPC UAサーバ40は、要求された動作136を行うことができる。
【0026】
本明細書に記載の技法より前には、OPC UAサーバ40およびOPC UAクライアント46は、複雑なおよび多数のステップを介して通信することができた。比較して、本明細書に記載の技法は、特権フィルタ134の作成および使用によって、OPC UAサーバ40とOPC UAクライアント46の間の通信を単純化することができる。したがって、OPC UAサーバ40とOPC UAクライアント46の間の通信のセキュリティは、通信の制御の強化で改良され得る。たとえば、OPC UAサーバ40は、ユーザ52をユーザ証明書50に関連付けることができ得る。本明細書に記載の技法を実装するために使用され得るアプリケーションの一実施形態のグラフィカルユーザインターフェース(GUI)の画面ビューが、
図4〜6に示される。
【0027】
図4は、ユーザセル142を証明書識別子セル140と関連付けることによって、ACM61によって作成された第1のマッピング56を実装するアプリケーションの画面ビュー138、GUI、の一実施形態である。画面ビュー138は、コンピュータ、サーバ、ラップトップ、タブレット、携帯電話、携帯デバイス、または同様の処理もしくは計算デバイスのメモリなどの非一時的コンピュータ可読媒体内で記憶されたコンピュータ命令を使用することによって、実装され得る。図示された実施形態では、画面ビュー138は、OPC UAサーバタブ144を第1に選択することによって、表示され得る。画面ビュー138内に見ることができるように、選択することができる他のタブは、General(一般)、OPCDAサーバ、Variables(変数)、およびEGDを含む。OPC UA Server(サーバ)タブ144が選択された後は、OPC UAツリー制御146が、セキュリティ証明書ノード148、画面ビュー138、および、OPC UAクライアントのリストを表示するOPC UAクライアントノード150の間を移動するために使用され得る。セキュリティ証明書ノード148が選択されるとき、証明書識別子リストまたは欄152、および、特権ユーザ名リストまたは欄154が、コンピュータなどのアプリケーションを実行するデバイスに表示され得る。第1のマッピング56を実装するために、「ユーザ3」142で示されるものなど、特権ユーザ名リスト154からの各ユーザは、証明書識別子リスト152の「D627A8D4DBA96B8EA3386714BC2F4A0759973E59」140などの証明書識別子と関連付けられ得る。特権ユーザ名リスト154内のユーザは証明書識別子リスト152中の証明書識別子と視覚的に関連付けられ得ることを理解されたい。前述のように、ACM61は、特権ユーザリスト154内のエントリと証明書識別子リスト152内のエントリの間の関連付け(たとえば、マッピング56)を追加、変更または除去する能力を有し得る。これを実装するために使用され得るアプリケーションは、
図5中に見ることができる。
【0028】
図5は、証明書識別子158および関連ユーザ名159の選択を示すダイアログボックスの画面ビュー156、GUI、の一実施形態である。説明のために、エントリの編集は、「ユーザ3」142というラベルを付けられたユーザ44と「D627A8D4DBA96B8EA3386714BC2F4A0759973E59 140」というラベルを付けられた関連証明書識別子140との関連で論じられることになる。画面ビュー156は、コンピュータ、サーバ、ラップトップ、タブレット、携帯電話、携帯デバイス、または同様の処理もしくは計算デバイスのメモリなどの非一時的コンピュータ可読媒体に記憶されたコンピュータ命令を使用することによって、実装され得る。どのエントリが編集されているかを判定するために、クライアント46セキュリティ証明書が、ドロップダウンメニュー170から選択され得る。画面ビュー156で、選択されたクライアント46は、「会社ABC OPC UAクライアント」のラベルを付けられる。クライアント46セキュリティ証明書が選択された後は、証明書識別子158に関連付けられ得るある種のアイテムが存在し得る。第1のアイテムは、クライアントの名160を含み得る。クライアントの名160の一例は、「会社ABC OPC UAクライアント」162のラベルを付けられる。別のアイテムは、識別名(DN)164を含み得る。DN164は、X.509証明書規格で知られた一意の識別子である。図示された例で、DN164は、「CN=会社ABC OPC UAクライアント、OU=アルファベット、O=会社ABC、L=Letterville、S=NY、C=US166」のラベルを付けられる。第3のアイテムは、文字のランダムな列で構成される一意のサムプリント168を含み得る。図示された例で、一意のサムプリント168は、「D627A8D4DBA96B8EA3386714BC2F4A0759973E59 140」のラベルを付けられる。各アイテムは、異なるレベルのセキュリティを提供することができることが、理解されよう。たとえば、一意のサムプリント168は、名160よりも安全であり得る。画面ビュー156で、一意のサムプリント168オプションが選ばれる。それにより、証明書識別子158は、D627A8D4DBA96B8EA3386714BC2F4A0759973E59 140を使用するようにセットされる。バイオメトリックアイテム、セキュリティトークン、チャレンジレスポンス鍵などを含む他のアイテムが、使用され得る。
【0029】
証明書識別子158が選択された後、対応するユーザ名159がドロップダウンメニュー172から選択され得る。画面ビュー156で、選ばれたユーザ名159は、「ユーザ3」142のラベルを付けられる。
図4に関して、証明書識別子158とユーザ名159の間の画面ビュー156内で選ばれた関連付けが、画面ビュー138内に表示される。受信された証明書識別子158に基づいてユーザ名159を識別することが可能であるので、次のステップは、
図6に示すように、ユーザ名159をユーザ特権および/または役割に関連付けることでもよい。
【0030】
図6は、ユーザ142をユーザ特権および/または役割に関連付けることによって、第2のマッピング58を実装することができるアプリケーションの画面ビュー174、GUI、の一実施形態である。やはり説明のために、ユーザ特権および/または役割の関連付けは、「ユーザ3」142のラベルを付けられたユーザ44との関連で論じられることになる。画面ビュー174は、コンピュータ、サーバ、ラップトップ、タブレット、携帯電話、携帯デバイス、または同様の処理もしくは計算デバイスのメモリなどの非一時的コンピュータ可読媒体に記憶されたコンピュータ命令を使用することによって、実装され得る。図示された実施形態では、画面ビュー174は、ツリービューリスト177からユーザおよび役割ノード176を選択することによって、表示することができる。他のノードオプションは、警報システム、診断翻訳、書式仕様セット、HMIリソース、HMI画面、およびプラントエリアを含み得る。
【0031】
画面ビュー174は、ユーザ142をユーザ特権および/または役割に関連付けるために、2つの別個のテーブル178および186を使用することができる。第1のテーブル178は、ユーザ名180のリストまたは欄を役割のリストまたは欄182に関連付けることができる。たとえば、ユーザ142は、オペレータ184の役割と関連付けられる。ユーザと関連付けられ得る他の役割は、管理者、保守、およびビューを含む。第2のテーブル186は、次いで、役割のリスト188をユーザ特権190、192、194、196、198、200、202、204と関連付けることができる。ユーザ特権190、192、194、196、198、200、202、204は、制御システム内で行われ得るある種のメソッド呼出しおよび他のアクションへのアクセスを可能にするために使用することができる。画面ビュー174にあるように、各ユーザ特権は、別個の欄でもよい。たとえば、1つのユーザ特権は、タグアウト特権190である。タグアウト特権190欄で、「タグアウト」することができる各ユーザ役割は真(True)を有することができ、「タグアウト」することができない各ユーザは偽(False)を有することができる。画面ビュー174に図示された実施形態では、オペレータユーザ役割188は、「タグアウト」することができる。したがって、ユーザ3 142はオペレータの役割188に関連するので、ユーザ3 142は「タグアウト」することができることになる。他のユーザ特権は、ライブデータ修正特権192、ライブデータ強制特権194、警報特権196、HMIグラフィックから定義に進む特権198、警報サービス特権200、ダウンロード特権202、および警報シェルブ特権204を含み得る。ユーザ名180のリスト内のユーザはユーザ特権190、192、194、196、198、200、202、204と視覚的に関連付けられ得ることを理解されたい。加えて、ユーザ142とユーザ特権の間の単一テーブルマッピングがOPC UAサーバ40によって使用され得ることも理解されたい。さらに、ユーザ142は、複数の役割、ハードウェアアクセス、ソフトウェアアクセス、制御動作アクセスなどを割り当てられ得ることが分かる。
【0032】
加えて、第1のテーブル178は、人−マシンインターフェース(HMI)リソース206のリストにユーザ名のリスト180を関連付けることができる。画面ビュー174に表された実施形態では、ユーザ142は、「Cooling、LubeAおよびPumpl」のラベルを付けられたHMIリソースと関連付けられる。リストに記載されたHMIリソースは、ユーザ142が制御システム10へのアクセスを有するアイテムを含み得る。たとえば、ユーザ3 142は、Pumplで制御システムにアクセスすることができ得る。
【0033】
開示される実施形態の技術的効果は、OPC UAサーバ40がOPC UAサーバ40とOPC UAクライアント46の間の通信のセキュリティを改善することを可能にすることを含む。具体的には、OPC UAサーバ40は、OPC UAクライアント46でユーザ52をより効率的に識別し、ユーザ52がメソッド呼出しを行うことを可能にするユーザ特権にユーザ52を関連付けることができ得る。言い換えれば、OPC UAサーバ40は、誰がOPC UAクライアント46上にあるかと、彼らが制御システム10内で何を行うことができるかを判定することができる。
【0034】
本明細書は、最良の形態を含めて本発明を開示するために、また、任意のデバイスまたはシステムの作成および使用と任意の組み込まれた方法の実行とを含めて、当業者が本発明を実施することを可能にするために、例を使用する。本発明の特許性のある範囲は、特許請求の範囲によって定義され、当業者が思い付く他の例を含み得る。そのような他の例は、それらが本特許請求の範囲の文字通りの文言と異ならない構造的要素を有する場合、またはそれらが本特許請求の範囲の文字通りの文言とごくわずかな差を有する同等の構造的要素を含む場合、本特許請求の範囲内にあるものとする。
【符号の説明】
【0035】
10 システム
12 燃焼器
14 タービン
16 排気口
18 ドライブシャフト
20 圧縮機
22 空気取り入れ口
24 負荷
26 電力網
30 入口センサおよびフィールドデバイス
32 出口センサおよびフィールドデバイス
34 モジュールライン
36 モジュールライン
38 コントローラ
40 OPC UAサーバ
41 内部ネットワーク接続
44 ユーザ
46 OPC UAクライアント
48 外部ネットワーク接続
49 サーバ証明書
50 アプリケーション証明書
52 ユーザ
54 データストア
55 接続
56 第1のマッピング
58 第2のマッピング
60 第3のマッピング
61 アプリケーション証明書管理(ACM)システム
62 信頼されたストア
64 信頼されたリスト
138 画面ビュー
140 証明書識別子セル
142 ユーザセル
144 OPC UAサーバタブ
146 OPC UAツリー制御
148 セキュリティ証明書ノード
150 OPC UAクライアントノード
152 証明書識別子リストまたは欄
154 特権ユーザ名リストまたは欄
156 画面ビュー
158 証明書識別子
159 関連ユーザ名
160 クライアントの名
162 ラベル「会社ABC OPC UAクライアント」
164 識別名(DN)
166 ラベル「CN=会社ABC OPC UAクライアント、OU=アルファベット、O=会社ABC、L=Letterville、S=NY、C=US」
168 サムプリント
170 ドロップダウンメニュー
172 ドロップダウンメニュー
174 画面ビュー
176 ユーザおよび役割ノード
177 ツリービューリスト
178 テーブル
180 ユーザ名
182 役割のリストまたは欄
184 オペレータ
186 第2のテーブル
188 ユーザ役割
190 ユーザ特権
192 ユーザ特権
194 ユーザ特権
196 ユーザ特権
198 ユーザ特権
200 ユーザ特権
202 ユーザ特権
204 ユーザ特権