(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-13
(54)【発明の名称】コントロールシステムにおける不正操作されたクライアントの識別
(51)【国際特許分類】
H04L 9/32 20060101AFI20221005BHJP
H04L 9/08 20060101ALI20221005BHJP
G06F 21/51 20130101ALI20221005BHJP
【FI】
H04L9/32 200B
H04L9/32 200E
H04L9/08 B
G06F21/51
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022507469
(86)(22)【出願日】2020-08-05
(85)【翻訳文提出日】2022-03-04
(86)【国際出願番号】 EP2020071951
(87)【国際公開番号】W WO2021023754
(87)【国際公開日】2021-02-11
(32)【優先日】2019-08-07
(33)【優先権主張国・地域又は機関】EP
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517291346
【氏名又は名称】シーメンス アクチエンゲゼルシヤフト
【氏名又は名称原語表記】Siemens Aktiengesellschaft
【住所又は居所原語表記】Werner-von-Siemens-Str. 1, D-80333 Muenchen, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ベンヤミン ルッツ
(72)【発明者】
【氏名】アンナ パルミン
(57)【要約】
技術施設のコントロールシステム(1)のためのクライアントサーバアーキテクチャが提案される。このクライアントサーバアーキテクチャは、クライアント(4)として構成されて設けられている少なくとも1つの第1の装置と、クライアント(4)に割り当てられたサーバ(2、3)として構成されて設けられている少なくとも1つの第2の装置とを含み、クライアント(4)は、サーバ(2、3)とコンタクトをとり、サーバ(2、3)からコードを受信して実行するように構成されており、これによりサーバ(2、3)を介してクライアント(4)からコントロールシステム(1)への通信が確立され、サーバ(2、3)は、クライアント(4)が実行するコードが、クライアント(4)がサーバ(2、3)から受信したコードと一致しているか否かを識別するように構成されており、サーバ(2、3)は、コードが一致していなければ、クライアント(4)によるコードの実行を中断して、このクライアント(4)をコントロールシステム(1)との通信から除外するように構成されている。
【特許請求の範囲】
【請求項1】
技術施設のコントロールシステム(1)のクライアントサーバアーキテクチャにおいて、クライアント(4)により実行すべきコードをサーバ(2、3)に格納されたコードとの一致についてインテグリティチェックする方法であって、
前記クライアントサーバアーキテクチャは、クライアント(4)として構成され前記コントロールシステム(1)と通信するように構成されて設けられている少なくとも1つの第1の装置と、サーバ(2、3)として構成されて設けられている少なくとも1つの第2の装置とを含み、
当該方法は、
a)前記クライアント(4)が前記サーバ(2、3)にログインし、前記クライアント(4)により実行すべきコードを前記サーバからダウンロードするステップと、
b)前記サーバ(2、3)によって、秘密鍵を生成し、該秘密鍵を前記クライアント(4)の公開鍵を用いて暗号化し、暗号化された前記秘密鍵に対する署名を前記サーバの公開鍵を用いて作成するステップと、
c)事前に暗号化されて署名された前記秘密鍵を前記サーバ(2、3)から前記クライアント(4)に伝送するステップと、
d)暗号化されて署名された前記秘密鍵の前記署名を前記サーバ(2、3)の公開鍵を用いてチェックするステップと、
e)事前にチェックされた前記署名が有効であるならば、前記クライアント(4)によって、該クライアント(4)のプライベート鍵を用いて、暗号化された前記秘密鍵を復号するステップと、
f)前記クライアント(4)によって、ハッシュ関数を用いて前記コードのハッシュ値を求めるステップと、
g)前記クライアント(4)によって、前記秘密鍵を用いて前記ハッシュ値を暗号化し、暗号化された該ハッシュ値を前記クライアント(4)の前記プライベート鍵を用いて署名するステップと、
h)暗号化されて署名された前記ハッシュ値を前記クライアント(4)から前記サーバ(2、3)に伝送するステップと、
i)前記サーバ(2、3)によって、暗号化されて署名された前記ハッシュ値の前記署名を前記クライアント(4)の公開鍵を用いてチェックするステップと、
j)事前にチェックされた前記署名が有効であるならば、前記サーバ(2、3)によって、暗号化された前記ハッシュ値を前記秘密鍵を用いて復号するステップと、
k)前記サーバ(2、3)によって、該サーバ(2、3)に格納されており前記クライアント(4)には伝送されていない前記コードのコピーの付加的なハッシュ値を求めるステップと、
l)前記ハッシュ値と前記付加的なハッシュ値とが一致しているならば、前記サーバ(2、3)は、前記クライアント(4)と前記技術施設の前記コントロールシステムとの通信を許可するステップと、
を含む、
方法。
【請求項2】
前記ハッシュ値が一致していなければ、前記クライアント(4)は前記コントロールシステム(1)との通信から除外される、請求項1記載の方法。
【請求項3】
前記クライアント(4)が、前記コントロールシステム(1)との通信から除外された後、新たに前記サーバ(2、3)にログインし、請求項1記載のインテグリティチェックの結果、前記ハッシュ値の一致が得られたならば、前記サーバ(2、3)は前記クライアント(4)に対し、前記コントロールシステム(1)との通信を再び許可する、請求項2記載の方法。
【請求項4】
前記クライアント(4)が、前記コントロールシステム(1)との通信から除外された後、新たに前記サーバ(2、3)にログインし、請求項1記載のインテグリティチェックの結果、前記ハッシュ値の一致が得られなければ、前記サーバは、前記コントロールシステム(1)との通信から前記クライアント(4)を持続的に除外し、該クライアント(4)を拒否すべき装置として前記コントロールシステム(1)に記録する、請求項2記載の方法。
【請求項5】
技術施設のコントロールシステム(1)のためのクライアントサーバアーキテクチャであって、
当該クライアントサーバアーキテクチャは、クライアント(4)として構成されて設けられている少なくとも1つの第1の装置と、サーバ(2、3)として構成されて設けられている少なくとも1つの第2の装置とを含み、該第2の装置は、請求項1から4までのいずれか1項記載の方法を実施するように構成されている、
クライアントサーバアーキテクチャ。
【請求項6】
技術施設のコントロールシステム(1)のためのクライアントサーバアーキテクチャであって、
当該クライアントサーバアーキテクチャは、クライアント(4)として構成されて設けられている少なくとも1つの第1の装置と、前記クライアント(4)に割り当てられたサーバ(2、3)として構成されて設けられている少なくとも1つの第2の装置とを含み、
前記クライアント(4)は、前記サーバ(2、3)とコンタクトをとり、前記サーバ(2、3)からコードを受信して実行するように構成されており、これにより前記サーバ(2、3)を介して前記クライアント(4)から前記コントロールシステム(1)への通信が確立され、
前記サーバ(2、3)は、前記クライアント(4)が実行するコードが、前記サーバ(2、3)に格納されており前記クライアント(4)に伝送されたコードと一致しているか否かを識別するように構成されており、
前記サーバ(2、3)は、前記コードが一致していなければ、前記クライアント(4)によるコードの実行を中断して、該クライアント(4)を前記コントロールシステム(1)との通信から除外するように構成されている、
クライアントサーバアーキテクチャ。
【請求項7】
前記クライアント(4)が、前記コントロールシステム(1)との通信から除外された後、新たに前記サーバ(2、3)とコンタクトをとり、一致していないコードを実行したために前記コントロールシステム(1)との通信から2回目も除外されたならば、前記サーバ(2、3)は、前記クライアント(4)を拒否すべき装置として前記コントロールシステム(1)に記録するように構成されている、請求項6記載のクライアントサーバアーキテクチャ。
【請求項8】
請求項5から7までのいずれか1項記載のクライアントサーバアーキテクチャを備えた技術施設のコントロールシステム(1)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、請求項1の特徴を備えた、技術施設のコントロールシステムのクライアントサーバアーキテクチャにおけるインテグリティチェック方法に関する。さらに本発明は、請求項5の特徴を備えた、技術施設のコントロールシステムのためのクライアントサーバアーキテクチャに関する。これらに加えて本発明は、請求項6の特徴を備えた、技術施設のコントロールシステムのためのクライアントサーバアーキテクチャに関する。さらに本発明は、請求項8記載の技術施設のコントロールシステムに関する。
【0002】
ウェブ指向のオペレータステーションクライアントは、オペレータステーションサーバのウェブサーバにログインし、それらのウェブサーバから、オペレーションおよびモニタリングに必要とされるコード(これは通例はJava Scriptおよび/またはHTML5として提供されている)をロードし、このコードがクライアント側で実行される。これはたとえばオペレーティングビュー、メッセージシーケンス表示、トレンド表示、アラームバナー、ナビゲーション階層などである。
【0003】
コードがオペレータステーションクライアントにロードされたときに、そこにおいてクライアントが(たとえばウィルス、侵入またはそれに類することにより)不正操作されてしまう可能性もあり、それによってたとえば、アラームがオペレータステーションクライアントにおいてもはや視覚化されなかったり、調整値およびプロセス値が誤った値を示したりといったようになる。したがってオペレータステーションクライアントにロードされたコードを、気づかれずに不正操作されないよう保護する必要がある。
【0004】
たとえば、署名認証が失敗に終わったことにより不正操作を識別できるように、コードに相応に署名することができる。このような識別以上にプロセス技術施設の運転にとって極めて重要であるのは、万が一、不正操作が識別されたならばそれに対しただちに制裁措置を加え、かつ即座に復旧を軌道に乗せて、運転がそのことによってもできるかぎりそのまま変わらず、オペレーションおよびモニタリングを継続することができる、ということである。
【0005】
現在のところ、オペレータステーションクライアントにロードされるコードは通例、不正操作から保護されておらず、または非常に初歩的なメカニズムによって保護されているにすぎない。しかも、万が一不正操作が行われたことに対し即座に制裁措置を加え、それに続いてシームレスに復旧させるための解決手段は存在していない。このため一方では、不正操作されたコードを気づかずにロードすることで損害が引き起こされるおそれがある。
【0006】
他方、不正操作を識別したというケースでは、不正操作が識別されたならば不正操作されたコードを、ひいては不正操作されたクライアントを拒否する、というIT分野で確立されている推奨を実施することによって、該当するプロセス技術施設の運転がかなり危うくなり、場合によっては施設が全面的に機能不全に陥ってしまう。
【0007】
本発明が基礎とする課題は、技術施設のいっそう安全な運転を可能にし、万が一の不正操作から技術施設を効果的に保護する、技術施設のコントロールシステムのためのクライアントサーバアーキテクチャならびに方法を提供することである。
【0008】
技術施設のコントロールシステムのクライアントサーバアーキテクチャにおいてインテグリティチェックする本発明による方法によれば、クライアントサーバアーキテクチャは、クライアントとして構成されて設けられている少なくとも1つの第1の装置と、サーバとして構成されて設けられている少なくとも1つの第2の装置とを含み、この方法は以下のステップを有する。すなわち、
a)クライアントがサーバにログイン(Anmeldung)し、クライアントにより実行すべきコードをサーバからダウンロードするステップと、
b)サーバによって、秘密鍵を生成し、この秘密鍵をクライアントの公開鍵を用いて暗号化し、暗号化された秘密鍵に対する署名をサーバの公開鍵を用いて作成するステップと、
c)事前に暗号化されて署名された秘密鍵をサーバからクライアントに伝送するステップと、
d)暗号化されて署名された秘密鍵の署名をサーバの公開鍵を用いてチェックするステップと、
e)事前にチェックされた署名が有効であるならば、クライアントによって、このクライアントのプライベート鍵を用いて、暗号化された秘密鍵を復号するステップと、
f)クライアントによって、ハッシュ関数を用いてコードのハッシュ値を求めるステップと、
g)クライアントによって、秘密鍵を用いてハッシュ値を暗号化し、暗号化されたこのハッシュ値をクライアントのプライベート鍵を用いて署名するステップと、
h)暗号化されて署名されたハッシュ値をクライアントからサーバに伝送するステップと、
i)サーバによって、暗号化されて署名されたハッシュ値の署名をクライアントの公開鍵を用いてチェックするステップと、
j)事前にチェックされた署名が有効であるならば、サーバによって、暗号化されたハッシュ値を秘密鍵を用いて復号するステップと、
k)サーバによって、このサーバに格納されておりクライアントには伝送されていないコードのコピーの付加的なハッシュ値を求めるステップと、
l)ハッシュ値と付加的なハッシュ値とが一致しているならば、サーバは、クライアントと技術施設のコントロールシステムとの通信を許可するステップと
を有する。
【0009】
技術施設を、たとえば化学施設、製薬施設、石油化学施設などプロセス産業に属する施設、または食料および嗜好品産業に属する施設とすることができる。これらと共に、たとえば自動車またはあらゆる種類の商品が製造される生産産業に属するいかなる施設、工場であっても含まれる。本発明による方法を実施するために適した技術施設を、エネルギー生成分野からのものとすることもできる。エネルギー生成のための風車、太陽エネルギー施設または発電所も技術施設の概念に含まれている。
【0010】
これらの施設はそれぞれ、進行中のプロセスまたは生産を開ループ制御および閉ループ制御するために、コントロールシステムまたは少なくとも1つのコンピュータ支援型モジュールを有する。コントロールシステムとは本発明の文脈ではコンピュータ支援型技術システムのことであると解され、これは製造施設または生産施設といった技術システムの表示、操作および管理のための機能を含む。コントロールシステムはこのケースでは、測定値を求めるためのセンサならびに種々のアクチュエータを含む。これらに加えコントロールシステムは、アクチュエータもしくはセンサの制御に用いられるいわゆるプロセス近傍または製造近傍の構成要素を含む。さらにコントロールシステムは特に、技術施設の視覚化およびエンジニアリングのための手段を有する。コントロールシステムという用語を付加的に、もっと複雑な閉ループ制御のためのさらに別の計算ユニット、ならびにデータ記憶およびデータ処理のためのシステムであると捉えることもできる。
【0011】
クライアントを、慣用のコンピュータ、スマートフォン、タブレット、サーバまたはこれらに類するものとすることができる。通例、クライアントは、クライアントのユーザに情報をグラフィックで提供する画像表示装置を有する。技術施設のコントロールシステムから情報を受け取る目的で、クライアントはサーバにログインし、実行用のコードを受け取る。
【0012】
クライアントもサーバも非対称の鍵ペアを有し、それらのうちそれぞれ一方は公開鍵(public key)であり、他方はプライベート鍵(private key)である。プライベート鍵をハードウェアにバインディングされたものとすることができる(たとえば基礎を成すハードウェアに組み込まれたいわゆるハードウェアセキュアエレメント、たとえばTPM(Trusted Platform Module)またはHSM(Hardware Security Module))。セキュリティ要件が低いのであれば、プライベート鍵をたとえばWindows(登録商標)キーストアに格納しておくこともできる。
【0013】
1つの鍵ペアにおける双方の鍵の間のバインディングを、信頼できる認証局(Certification Authority,CA)から交付された証明書によって保証することができる。これをたとえば双方のパートナー(クライアントおよびサーバ)のTLS証明書、あるいは基礎を成すハードウェアにバインディングされたメーカ証明書(Manufacturer Device Certificate)、あるいはWindowsアクティブディレクトリまたはWindowsワークグループにおいて発行されたWindows証明書とすることができる。同様に(個々の運用環境におけるトポロジーの境界条件が許すのであれば)、加入機器が自身の証明書をLetsEncrypt CAにおいて申請済みであるようにすることも可能である。
【0014】
最も簡単な実施形態によれば、証明書を(場合によっては関連する鍵と共に)信頼できるプロバイダにおいて購入して取得し、加入機器の証明書ストアに格納することができ、その際には上述のようにプライベート鍵の保護について(その保管においても例外的に許可される伝送においても)特別な注意を払わなければならない。
【0015】
いわゆるセキュアなハンドシェイク(たとえばTLSハンドシェイク)の枠内で証明書を交換することによって、各加入機器の手元にそれぞれ他方の加入者のパブリック鍵があることが保証される。他方の加入機器のパブリック鍵によって、その加入者のために定められたメッセージを暗号化することができ、またはその加入者の署名を認証することができる。
【0016】
ハッシュ関数とは一般に、比較的多い入力量をより少ない目標量(ハッシュ値)にマッピングする関数規則のことであると解される。
【0017】
本発明による方法によれば、信頼できるクライアントは、ブラウザで実行されたコードが変更されていない、ということを(ウェブ)サーバに、ただしそのコードを平文でウェブサーバに伝送することなく、確信させることができるようになる。平文コードの代わりに、セキュアな手法で暗号化により形成された値が伝送される。しかも、上述の暗号化による値はクライアントにおいて実行されたコードに対して常に形成される、ということが保証される。
【0018】
サーバからクライアントにロードされたコードが比較的長い期間にわたり変更されないままであったとしても、クライアントからサーバにチェックの目的で伝送される値が、潜在的な攻撃者にとってはランダムな値になる。したがって攻撃者は(たとえ攻撃者が複数の値を記録したとしても)それらからは役立つ推論を引き出すことはできず、そのような推論があったとしたならば、不正操作されたコードの実行にもかかわらず適正な値をサーバに伝達しようと試みる際に攻撃者を手助けすることができてしまう。かくして不正操作は識別されないままとなる。
【0019】
不正操作をその場その場で識別するために用いられる上述のチェック方法を実行することによって、不正操作の試みをその場その場で識別することができ、したがって(ウィルスまたは攻撃者により)クライアントにおいて実行されたコードを気づかれずに不正操作することはできない、ということを保証することができる。これによって特に有利な手法で、コードのインテグリティおよび技術施設のコントロールシステムのインテグリティの維持にしっかりと貢献することができる。
【0020】
ハッシュ値が一致していなければ、クライアントを技術施設のコントロールシステムとの通信から除外することができる。これによって、クライアントが誤ったもしくは不正操作されたコードを実行し、場合によっては技術施設のコントロールシステムに損害をもたらす、ということを回避することができる。
【0021】
好ましくは、クライアントが、コントロールシステムとの通信から除外された後、新たにサーバにログインし、次いでこれまでに説明したインテグリティチェックの結果、ハッシュ値の一致が得られたならば、サーバはそのクライアントに対しコントロールシステムとの通信を再び許可する。このケースではクライアントの復旧という言葉が用いられる。新たにロードされたクライアントは、なぜそのクライアントがコントロールシステムの通信から除外されたのかの理由を、有利にはサーバから聞き知ることもできる。不正操作試行が識別された場合には即座に制裁措置を行い、それらのクライアントがもはや危険に晒されておらず、もはやセキュリティリスクを成していなければただちにクライアントを復旧させる、というこれまでに説明した完全に自動化された手順によって、技術システムの運転維持およびアベイラビリティ改善に貢献することができる。
【0022】
本発明の有利な発展形態によれば、クライアントが、コントロールシステムとの通信から除外された後、新たにサーバにログインし、インテグリティチェックの結果、2回目もハッシュ値の一致が得られないケースであれば、サーバはそのクライアントをコントロールシステムとの通信からに除外し、そのクライアントを拒否すべき装置としてコントロールシステムに記録する。以降、そのクライアントはいわゆる「ブラックリスト」上に存在することになる。このブラックリストには、コントロールシステム内においてすべての加入機器、特にサーバ、がアクセスできるため、そのクライアントは他のサーバにももはやログインすることはできない。これは完全な制裁措置である。コントロールシステムの管理者だけがこのクライアントを、コントロールシステムとの通信をこのクライアントに対し再び許可する状態に移行させることができる。
【0023】
さらに上述の課題は、技術施設のコントロールシステムのための以下のようなクライアントサーバアーキテクチャによって解決される。すなわちこのクライアントサーバアーキテクチャは、クライアントとして構成されて設けられている少なくとも1つの第1の装置と、サーバとして構成されて設けられている少なくとも1つの第2の装置とを含み、この第2の装置は、これまでに説明した方法を実施するように構成されている。
【0024】
しかも上述の課題は、技術施設のコントロールシステムのための以下のようなクライアントサーバアーキテクチャによって解決される。すなわち、
このクライアントサーバアーキテクチャは、クライアントとして構成されて設けられている少なくとも1つの第1の装置と、クライアントに割り当てられたサーバとして構成されて設けられている少なくとも1つの第2の装置とを含み、
クライアントは、サーバとコンタクトをとり、サーバからコードを受信して実行するように構成されており、これによりサーバを介してクライアントからコントロールシステムへの通信が確立され、
サーバは、クライアントが実行するコードが、クライアントがサーバから受信したコードと一致しているか否かを識別するように構成されており、
サーバは、コードが一致していなければ、クライアントによるコードの実行を中断して、このクライアントをコントロールシステムとの通信から除外するように構成されている。この場合、好ましくは、サーバは以下のように構成されている。すなわち、クライアントが、コントロールシステムとの通信から除外された後、新たにサーバとコンタクトをとり、一致していないコードを実行したためにコントロールシステムとの通信から2回目も除外されたならば、そのクライアントを拒否すべき装置としてコントロールシステムに記録する。
【0025】
上述の課題はさらに、これまでに説明したクライアントサーバアーキテクチャを備えた技術施設のコントロールシステムによって解決される。
【0026】
本発明の上述の特性、特徴および利点、ならびにそれらを達成する手法は、図面を参照しながら詳しく説明する以下の実施例の記載と関連させることで、いっそうはっきりと明確に理解されるようになる。
【図面の簡単な説明】
【0027】
【
図1】本発明によるコントロールシステムの一部を示す図である。
【0028】
図面には、プロセス技術施設として構成された技術施設における本発明によるコントロールシステム1の一部が示されている。コントロールシステム1は、オペレーションシステムの第1のサーバもしくは第1のオペレータステーションサーバ2と、第2のオペレータステーションサーバ3とを含む。これに加えコントロールシステム1は、オペレータステーションクライアント4を含む。第1のオペレータステーションサーバ2、第2のオペレータステーションサーバ3、およびオペレータステーションクライアント4は、端末バス5を介して互いに接続されており、さらにエンジニアリングシステムサーバまたはプロセスデータアーカイブなど、コントロールシステム1の図示されていないその他の構成要素と接続されている。
【0029】
ユーザもしくはオペレータは、オペレータステーションクライアント4を用いることで端末バス5を介して、オペレーションおよびモニタリングという状況において、第1のオペレータステーションサーバ2および/または第2のオペレータステーションサーバ3にアクセスすることができる。端末バス5を、以下に限定されるものではないが、たとえば産業用イーサネットとして構成することができる。
【0030】
オペレータステーションクライアント4は、「ローカルクライアントオブザーバ」と呼ばれる構成要素6を有する。第1のオペレータステーションサーバ2は、「クライアントオブザーバ」と呼ばれる構成要素7を有する。第2のオペレータステーションサーバ3も同様に、「クライアントオブザーバ」と呼ばれる構成要素8を有する。
【0031】
構成要素「ローカルクライアントオブザーバ」6および「クライアントオブザーバ」7、8は、非対称の(パブリック鍵の)鍵のペアを使用することができ、この場合、“X”によって個々の非対称の秘密鍵(プライベート鍵)が表され、“Y”によって個々の非対称の公開鍵(パブリック鍵)が表される。セキュリティ上の理由から、関連づけられたプライベート鍵は、理想的にはハードウェアにバインディングされているのが望ましく(つまり基礎を成すハードウェアに組み込まれたいわゆるハードウェアセキュアエレメント、たとえばTPMまたはHSM)、あるいは択一的に(セキュリティ要件が低いのであれば)、たとえばWindowsキーストアまたは他のキーストアにセキュアに格納するのが望ましい。
【0032】
クライアント4は、第1のオペレータステーションサーバ2にログインし、実行すべきコードをこのサーバからダウンロードする。第1のオペレータステーションサーバ2の構成要素「クライアントオブザーバ」7は、コードチェックプロセスを起動させ、その際に「クライアントオブザーバ」7は、(セキュリティ上の理由からできるかぎり疑似乱数値を用いて)秘密鍵を生成し、次いでこの秘密鍵を、構成要素「ローカルクライアントオブザーバ」6の公開鍵を用いて暗号化し、その結果(Enc)に自身の公開鍵で署名する(Sig)。これに続いて構成要素「クライアントオブザーバ」7は、この結果を構成要素「ローカルクライアントオブザーバ」6に伝達する。
【0033】
この場合、使用される復号および署名の機能は、従来技術による機能である。“Enc”もしくは“Sig”に対応する機能を、以下では“Dec”もしくは“Ver”と称する。ここで留意されたいのは、暗号化機能もしくは署名機能の各々に対し常に1つの復号チェック機能もしくは署名チェック機能が存在する、ということである。対称の秘密鍵は、チェックプロセスごとに構成要素「クライアントオブザーバ」7によって新たに生成される。
【0034】
構成要素「ローカルクライアントオブザーバ」6は、第1のオペレータステーションサーバ2の構成要素「クライアントオブザーバ」7から、値Encと関連づけられた署名Sigとから成る値を受信する。最初に「ローカルクライアントオブザーバ」6は、オペレータステーションサーバ2の公開鍵を用いて、署名Sig(Enc)が有効であるか否かをチェックする:Ver(Sig(Enc)=True?
【0035】
署名が有効であるならば、「ローカルクライアントオブザーバ」6は、自身のプライベート鍵を用いて共通の対称の秘密鍵を復号する。次いで「ローカルクライアントオブザーバ」6は、第1のオペレータステーションサーバ2から受信したコードに対しハッシュ値を形成し(hash=h(Code))、その際にハッシュ関数hが用いられる。その後、クライアント4は、このハッシュ値を共通の対称の秘密鍵を用いて暗号化し、その結果に自身のプライベート鍵で署名する。これに続いてクライアント4は、暗号化および署名による結果全体を第1のオペレータステーションサーバ2の構成要素「クライアントオブザーバ」7に伝達する。伝送された値は、部外者もしくは攻撃者にはランダムに見える、という点に注意するのが重要である。既述のように、攻撃者は(たとえその攻撃者が複数の値を記録したとしても)、それらからは役に立つ推論を引き出すことはできず、そのような推論があったとしたならば、不正操作されたコードを実行したにもかかわらず適正な値を第1のオペレータステーションサーバ2に伝達しようと試みる際に攻撃者を手助けすることができてしまう。
【0036】
第1のオペレータステーションサーバ2の構成要素「クライアントオブザーバ」7は、構成要素「ローカルクライアントオブザーバ」6から、実施すべきコードの暗号化された署名付きのハッシュ値を受信する。最初に構成要素「クライアントオブザーバ」7はクライアント4の公開鍵を用いて、署名が有効か否かをチェックする。署名が有効であるならば、構成要素「クライアントオブザーバ」6は、共通の対称の秘密鍵を用いてハッシュ値を復号する。次いで構成要素「クライアントオブザーバ」6は、この復号の結果が、第1のオペレータステーションサーバ2に格納されている適正なコードに対し形成された(つまりは適正な)ハッシュ値と一致しているか否かをチェックする。
【0037】
一致しているのであれば、チェックプロセスは首尾よく終了し、つまりこのことは、第1のオペレータステーションサーバ2からクライアント4にロードされたコードが不正操作されていなかった、ということが確認されたということである。一致していなければ(不正操作が識別されたケースであれば)、以下で説明する制裁措置および復旧のための手順が実行される。
【0038】
第1のオペレータステーションサーバ2が不正操作を識別したならば、第1のオペレータステーションサーバ2は目下実行されている命令(たとえば調整値変更、アラーム確認応答...)等をただちに中断する。さらに第1のオペレータステーションサーバ2は、目下のクライアントセッションを終了させ、つまり第1のオペレータステーションサーバ2はクライアント4を、少なくとも一時的にコントロールシステム1との通信から除外する。第1のオペレータステーションサーバ2は、相応のイベントもしくは相応のセキュリティメッセージを送出し、これによってコントロールシステム1の残りの部分に、クライアント4が不正操作されたかもしれないことを知らせる。さらに「ユーザプロフィルサービス」と称する構成要素9において、該当するクライアント4が「クライアントブラックリスト」10に加えられる。これはさしあたりは注意書きであって、まだ実際にブロックするということではない。
【0039】
第1のオペレータステーションサーバ2の「ミラーリング」と称する構成要素11を介して、さらに別のオペレータステーションサーバ3が同じ識別状態に移行させられる。クライアント4がどのオペレータステーションサーバ2、3に再びログインしようが、コントロールシステム1には、クライアント4は不正操作ゆえにまずは「復旧」させられること、つまりいわば保護観察中であり、まだ全面的にはオペレーションおよびモニタリングから除外されてはいないことが既知である。
【0040】
クライアント4とオペレータステーションサーバ2、3との新たな接続にあたり、不正操作されたかもしれないクライアント4内のコードが、個々のオペレータステーションサーバ2、3から新たにロードされる。このとき個々の構成要素「クライアントオブザーバ」7、8によるさらなるチェックにおいて、クライアント4が復旧させられているか否かが評価される。復旧させられているならば、このクライアント4をブラックリストから破棄することができる。復旧させられていないならば、クライアント4は相応にブロックされたままである。
【0041】
第1もしくは第2のオペレータステーションサーバ2、3に組み込まれた構成要素「イベントマネージャ」11、12(既述の手順の枠内で捕捉されたすべてのイベントが基本的に保管される)によって、どのクライアント4が以前に場合によっては不正操作されていたのかには関係なく、それらがその間に復旧させられていたとしても、履歴解析もしくはフォレンジック解析(オーディットトレイル)を行うことができる。クライアント4のメッセージシーケンスディスプレイ15は、第1もしくは第2のオペレータステーションサーバ2、3の個々のプロセスイメージ13、14を介して、イベントもしくはセキュリティメッセージにアクセスすることができる。
【0042】
プロセスイメージに記録された実行環境のセキュリティメッセージを通して、プロセス技術施設のオペレーションおよびモニタリングのすべてのオペレータは、施設の運転にとって重要な情報を成す問題のあるクライアント4について把握している。コードチェックの常時監視、(不正操作が識別されたならば)対応するイベントの生成、ならびに(制裁措置の形態での)それに対する即座の応答の開始は、セキュリティ常時監視(英語では“Continuous monitoring”)および通報されたイベントおよびアラームに対する即座の応答(英語では“Timely response to events”)に関する主要な産業用セキュリティ標準であるIEC62443の対応する要件への準拠に貢献する。
【0043】
アベイラビリティおよびインテグリティはIEC62443の最も重要な要件を成すことから、本発明は総じて(次第に義務化されつつある)証明および監査という状況で、IEC62443ならびにこれに基づく要件への準拠に貢献する。
【0044】
好ましい実施例を通して本発明を細部にわたり詳しく例示し説明してきたけれども、本発明は開示された実施例に限定されるものではなく、当業者であれば本発明の保護範囲を逸脱することなく、そこから他の変形実施形態を導き出すことができる。
【国際調査報告】