(57)【要約】      （修正有）【課題】物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にするシステム及び方法を提供する。【解決手段】システムは、複数のエンティティのうちの第１のエンティティによって、第１のネットワークを介して、サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信する。システムは、第１のエンティティによって、第２のネットワークを介して、サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信し、第２のネットワークは、任意の外部エンティティ、または複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む。システムは、第１の指示値及び第２の指示値に基づいて一組の命令を実行する。システムは、実行された命令の結果が、予期される状態に一致しないと判定する。システムは、結果に基づいて是正措置を行う。【選択図】図４
2019057276.tif 000002
【特許請求の範囲】
【請求項１】
物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にするためのコンピュータ実装の方法であって、前記方法が、
複数のエンティティの第１のエンティティによって、第１のネットワークを介して、前記サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信することと、
前記第１のエンティティによって、第２のネットワークを介して、前記サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信することであって、
前記第２のネットワークが、任意の外部エンティティ、または前記複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む、第２の指示値を受信することと、
前記第１の指示値及び前記第２の指示値に基づいて一組の命令を実行することと、
前記実行された命令の結果が、予期される状態に一致しないと判定することと、
前記結果に基づいて是正措置を行うことと、を含む、方法。
【請求項２】
前記第１の一組のセンサが、前記第１のネットワーク上で動作しており、前記第２の一組のセンサが、前記第１の一組のセンサのための一組の冗長センサであり、前記第２の一組のセンサが、前記第１のネットワークのための冗長ネットワークである前記第２のネットワーク上で動作しており、
前記第１の指示値及び前記第２の指示値が、前記一組の命令を実行する際に前記第１のエンティティによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、ブロックチェーンを修正するために使用される出力である、請求項１に記載の方法。
【請求項３】
前記第１の指示値及び前記第２の指示値が、他のエンティティによって受信され、前記一組の命令が、スマートコントラクトであり、前記スマートコントラクトが、前記他のエンティティによって実行され、前記複数のエンティティのうちの各エンティティが、ブロックチェーン上で動作を行い、前記方法が、
前記複数のエンティティの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことをさらに含む、請求項１に記載の方法。
【請求項４】
物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にするためのコンピュータシステムであって、前記方法が、前記コンピュータシステムが、
プロセッサと、
前記プロセッサによって実行されたときに、前記プロセッサに方法を行わせる命令を記憶する記憶デバイスと、を備え、前記方法が、
複数のエンティティの第１のエンティティによって、第１のネットワークを介して、前記サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信することと、
前記第１のエンティティによって、第２のネットワークを介して、前記サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信することであって、
前記第２のネットワークが、任意の外部エンティティ、または前記複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む、第２の指示値を受信することと、
前記第１の指示値及び前記第２の指示値に基づいて一組の命令を実行することと、
前記実行された命令の結果が、予期される状態に一致しないと判定することと、
前記結果に基づいて是正措置を行うことと、を含む、コンピュータシステム。
【請求項５】
前記第１の一組のセンサが、前記第１のネットワーク上で動作しており、前記第２の一組のセンサが、前記第１の一組のセンサのための一組の冗長センサであり、前記第２の一組のセンサが、前記第１のネットワークのための冗長ネットワークである前記第２のネットワーク上で動作しており、
前記第１の指示値及び前記第２の指示値が、前記一組の命令を実行する際に前記第１のエンティティによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、ブロックチェーンを修正するために使用される出力である、請求項４に記載のコンピュータシステム。
【請求項６】
前記第１の指示値及び前記第２の指示値が、他のエンティティによって受信され、前記一組の命令が、スマートコントラクトであり、前記スマートコントラクトが、前記他のエンティティによって実行され、前記複数のエンティティのうちの各エンティティが、ブロックチェーン上で動作を行い、前記方法が、
前記複数のエンティティの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことをさらに含む、請求項４に記載のコンピュータシステム。
【請求項７】
コンピュータによって実行されたときに、前記コンピュータに、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にする方法を行わせる命令を記憶する非一時的コンピュータ可読記憶媒体であって、前記方法が、
複数のエンティティの第１のエンティティによって、第１のネットワークを介して、前記サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信することと、
前記第１のエンティティによって、第２のネットワークを介して、前記サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信することであって、
前記第２のネットワークが、任意の外部エンティティ、または前記複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む、第２の指示値を受信することと、
前記第１の指示値及び前記第２の指示値に基づいて一組の命令を実行することと、
前記実行された命令の結果が、予期される状態に一致しないと判定することと、
前記結果に基づいて是正措置を行うことと、を含む、非一時的コンピュータ可読記憶媒体。
【請求項８】
前記第１の一組のセンサが、前記第１のネットワーク上で動作しており、前記第２の一組のセンサが、前記第１の一組のセンサのための一組の冗長センサであり、前記第２の一組のセンサが、前記第１のネットワークのための冗長ネットワークである前記第２のネットワーク上で動作しており、
前記第１の指示値及び前記第２の指示値が、前記一組の命令を実行する際に前記第１のエンティティによる入力として使用される物理的測定値を示し、
前記実行された命令の前記結果が、ブロックチェーンを修正するために使用される出力である、請求項７に記載の記憶媒体。
【請求項９】
前記第１の指示値及び前記第２の指示値が、他のエンティティによって受信され、前記一組の命令が、スマートコントラクトであり、前記スマートコントラクトが、前記他のエンティティによって実行され、前記複数のエンティティのうちの各エンティティが、ブロックチェーン上で動作を行い、前記方法が、
前記複数のエンティティの多数決によって、前記実行されたスマートコントラクトの前記結果のコンセンサスを判定することに応答して、前記結果をブロックチェーンに書き込むことをさらに含む、請求項７に記載の記憶媒体。
【請求項１０】
前記予期される状態が、
所定の時間間隔内で前記第１の指示値及び前記第２の指示値を受信すること、
前記第１の指示値及び前記第２の指示値が等しいかどうか、
前記第１の指示値及び前記第２の指示値が所定の範囲内にあるかどうか、
前記第１の指示値及び前記第２の指示値に基づいて行われた関数が所定の範囲内の結果を生じるかどうか、
前記第１の指示値及び前記第２の指示値が同じ物理量を示すかどうか、
前記第１の指示値及び前記第２の指示値が、異なる物理量を示すどうか、ならびに
前記第１の一組のセンサ及び前記第２の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、のうちの１つ以上に基づく、請求項７に記載の記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
本開示は、概して、サイバーフィジカルシステムへの攻撃の検出に関する。より具体的には、本開示は、冗長デバイス及びスマートコントラクトを使用して、サイバーフィジカルシステムへの攻撃を検出するための方法及びシステムに関する。
【背景技術】
【０００２】
サイバーフィジカルシステムは、物理的及びソフトウェア／コンピュータ構成要素を、スタンドアロンのデバイスではなく、物理的入力及び出力との相互作用要素のネットワークに含む。サイバーフィジカルシステムとしては、例えば電力グリッド、水力発電所、建築環境管理システム、ロボット工学システム、及び航空機システムのための、制御システム及びインフラストラクチャを挙げることができる。サイバーフィジカルシステムへの攻撃は、物理的プロセスに関与するセンサ、アクチュエータ、及び制御モジュールの機能を修正することによって、物理的プロセスを標的にする場合がある。例えば、攻撃者は、特定のシリンダーにポンプ圧送されるガスの量を物理的に増加させることによって、発電所内のガス圧力ゲージをハッキングし、同時に、実際のゲージ指示値をごまかして、正常なレベルであると読み取らせる（「偽装する」）場合がある。この偽装アタッチは、プラントオペレータまたは監視システムが、実際の増加したガスの量を検出することを妨げ、これは、安全上の問題をもたらす場合がある。
【０００３】
そのような攻撃を検出するための現在の手法は、例えばセンサから生じるテレメトリを調査し、制御ステーションに送信することに依存している。起こり得る攻撃の存在を示し得る、所定の許容範囲を外れたセンサ指示値が検出されたときには、制御ステーションのプラントオペレータに警報を出すことができる。しかしながら、上で説明したように、巧妙な攻撃者は、センサから現れるテレメトリが通常の挙動を模倣するように、センサの挙動を修正することができ、これは、プラントオペレータが、潜在的な安全上の問題を検出することを妨げることができる。
【０００４】
そのような攻撃の検出問題に対処するための１つの手法は、冗長センサを使用することである。しかしながら、これらの冗長センサの多くは、依然として、同じネットワークを通じてプラントオペレータと通信しているので、ネットワークにハッキングする攻撃者は、依然として、冗長センサを偽装することができる。冗長ネットワークを使用する場合であっても、概して、プラントオペレータとの通信を伴う。したがって、このシステムは、依然として、プラントオペレータに対してハッキングされる場合がある。これは、サイバーフィジカルシステム及び制御環境全体に対して深刻な結果を招き得る。
【発明の概要】
【０００５】
１つの実施形態は、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムにおける攻撃の検出を容易にする。動作中に、システムは、複数のエンティティのうちの第１のエンティティによって、第１のネットワークを介して、サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信する。システムは、第１のエンティティによって、第２のネットワークを介して、サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信し、第２のネットワークは、任意の外部エンティティ、または複数のエンティティのうちのいずれかによるアクセスを阻止するセキュリティ対策を含む。システムは、第１の指示値及び第２の指示値に基づいて一組の命令を実行する。システムは、実行された命令の結果が、予期される状態に一致しないと判定する。システムは、結果に基づいて是正措置を行う。
【０００６】
いくつかの実施形態において、第１の一組のセンサは、第１のネットワーク上で動作しており、第２の一組のセンサは、第１の一組のセンサのための一組の冗長センサであり、第２の一組のセンサは、第１のネットワークのための冗長ネットワークである第２のネットワーク上で動作している。第１の指示値及び第２の指示値は、一組の命令を実行する際に第１のエンティティによる入力として使用される物理的測定値を示し、実行された命令の結果は、ブロックチェーンを修正するために使用される出力である。
【０００７】
いくつかの実施形態において、第１の指示値及び第２の指示値は、他のエンティティによって受信される。一組の命令は、スマートコントラクトであり、スマートコントラクトは、他のエンティティによって実行される。複数のエンティティのうちの各エンティティは、ブロックチェーン上で動作を行う。複数のエンティティのうちの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定することに応答して、システムは、結果をブロックチェーンに書き込む。
【０００８】
いくつかの実施形態において、システムは、実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定する第１のエンティティまたは別のエンティティによって、予期しない状態の通知を生成する。是正措置は、第１のエンティティまたは他のエンティティによって行われる。
【０００９】
いくつかの実施形態において、エンティティは、互いに通信する分散エンティティである。
【００１０】
いくつかの実施形態において、一組の命令を実行することは、第１の指示値及び第２の指示値に基づいて、関数を計算することをさらに伴う。
【００１１】
いくつかの実施形態において、複数のエンティティのうちの各エンティティは、エントリを有するデータ構造を維持し、該エントリは、それぞれのエンティティのための識別子、それぞれのエンティティによって実行された一組の命令の結果、命令を実行するそれぞれのエンティティと関連付けられたタイムスタンプ、及びそれぞれのエンティティによって実行された命令の結果が、予期される状態に一致するかどうかの指標、のうちの１つ以上を含む。
【００１２】
いくつかの実施形態において、予期される状態は、所定の時間間隔の範囲内で第１の指示値及び第２の指示値を受信すること、第１の指示値及び第２の指示値が等しいかどうか、第１の指示値及び第２の指示値が所定の範囲内にあるかどうか、第１の指示値及び第２の指示値に基づいて行われた関数が所定の範囲内の結果を生じるかどうか、第１の指示値及び第２の指示値が同じ物理量を示すかどうか、第１の指示値及び第２の指示値が異なる物理量を示すかどうか、ならびに第１の一組のセンサ及び第２の一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、のうちの１つ以上に基づく。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための例示的な環境を例示する図である。
【図２】先行技術における例示的な環境を例示する図である。
【図３】本発明の一実施形態に従う、例示的な分散エンティティ及び例示的なデータ構造を提示する図である。
【図４】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャートである。
【図５】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャートである。
【図６】本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にする例示的な分散コンピュータ及び通信システムを例示する図である。
【００１４】
図面中、同じ参照番号は、同じ図面要素を指す。
【発明を実施するための形態】
【００１５】
以下の説明は、任意の当業者が本実施形態を作製し、使用することを可能にするように提示され、また、特定の用途及び要件の文脈において提供される。開示された実施形態に対する種々の変更は、当業者には容易に明らかになるであろうし、また本明細書で定義された一般的な原理は、本開示の趣旨及び範囲から逸脱することなく、他の実施形態及び用途に適用され得る。したがって、本発明は、示される実施形態に限定されるのではなく、本明細書で開示される原理及び特徴と一致する最も広い範囲を与えられるべきである。
【００１６】
概要
本発明の実施形態は、冗長ネットワーク上で動作する冗長センサを使用することによって、及びブロックチェーン技術に基づいて分散エンティティの間でスマートコントラクトを実行することによって、サイバーフィジカルシステムへの攻撃の検出に関与する課題に対処する。サイバーフィジカルシステムへの攻撃は、サイバーフィジカルシステムの相互作用要素の物理的プロセスを標的にする場合がある。この攻撃は、物理的プロセスに関与するセンサ、アクチュエータ、及び制御モジュールの機能を修正する場合がある。そのような攻撃を検出するための現在の手法は、センサから生じるテレメトリを調査し、制御ステーションに送信することに依存している。起こり得る攻撃の存在を示し得る、所定の許容範囲を外れたセンサ指示値が検出されたときには、制御ステーションのプラントオペレータに警報を出すことができる。しかしながら、巧みな攻撃者は、センサから現れるテレメトリが通常の挙動を模倣する（例えば、偽装する）ように、センサの挙動を修正する（例えば、ハッキングする）ことができ、これは、プラントオペレータが、潜在的な安全上の問題を検出することを妨げる。
【００１７】
そのような攻撃の検出問題に対する１つの手法は、冗長センサを使用することである。しかしながら、これらの冗長センサの多くは、依然として、同じネットワークを通じてプラントオペレータと通信しているので、ネットワークにハッキングする攻撃者は、依然として、冗長センサを偽装することができる。冗長ネットワークを使用する場合であっても、概して、プラントオペレータとの通信を伴う。したがって、このシステムは、依然として、プラントオペレータに対してハッキングされる場合がある。これは、サイバーフィジカルシステム及び制御環境全体に関して深刻な結果を招き得る。
【００１８】
本発明の実施形態は、第１のネットワーク上で動作する一組の一次センサ及び第２のネットワークで動作する一組の冗長センサを有するシステムを提供することによってこの問題に対処し、第２のネットワークは、外部のエンティティによるアクセスを阻止するセキュリティ対策を含む。一次及び冗長センサは、物理的プロセスの特定のパラメータを読み出し、測定し、そして、制御ステーションだけでなく、複数の利害関係者にもこれらの指示値を送信する。これらの利害関係者は、分散処理システムのエンティティであってもよく、エンティティは、他のエンティティと通信するためのいくつかの方法を有する。例えば、原子力発電所の事例において、利害関係者としては、プラントオペレータ、現地の当局者、連邦組織、及び政府または民間監視組織を挙げることができる。
【００１９】
各利害関係者（または関連付けられたデバイス）は、許可型ブロックチェーン設定で動作するプロセッサを含むことができる。ブロックチェーンは、互いに信頼できないパーティの間で分散コンセンサスを達成するための技術的な手段であり得る。ブロックチェーンは、各利害関係者が、制御システム内のデバイス（例えば、発電所内のセンサ）から受信したデータを書き込むことを可能にする。ブロックチェーンはまた、利害関係者が、ブロックに署名し、データを書き込むことも可能にし、さらに、データを暗号化することができる。利害関係者によってブロックチェーンに書き込むことができるデータの例としては、一定の時間間隔での一次センサの指示値及びアクチュエータのアクション、一定の時間間隔での冗長センサの指示値、センサ、アクチュエータ、及びコントローラモジュールのファームウェアのアップグレード、ならびに観察されたシステムの挙動が、予期される挙動から逸脱するインスタンス、及び逸脱が生じる持続時間、を挙げることができる。
【００２０】
さらに、各利害関係者は、同じスマートコントラクトのコピーを実行することができ、該コピーは、ブロックチェーン上で動作するプログラムまたは一組の命令である。高いレベルでは、各利害関係者は、２つの別々のネットワークを介して、一次センサからの第１の指示値を受信し、冗長センサから第２の指示値を受信することができる。各利害関係者は、第１の指示値及び第２の指示値を入力として使用することによって、スマートコントラクトを実行することができる。例えば、利害関係者は、第１の指示値及び第２の指示値の数学関数を評価することができる。各利害関係者は、次いで、実行されたスマートコントラクトの結果を、予期される状態と比較することができる。結果が、予期される状態に一致しない場合、利害関係者は、是正措置を行うことができる。この是正措置は、利害関係者の種類、時間間隔、所定の許容範囲、以前の類似する結果の履歴、その他を含む、多数の変数によって異なり得る。
【００２１】
各利害関係者は、同じ方法で（すなわち、同じ入力に対して同じ一組の命令を実行することによって）同じスマートコントラクトを実行するので、任意の単一の利害関係者は、不一致を判定し、直ちに是正措置を行うことができる。加えて、利害関係者の多数決が、結果に関するコンセンサスに到達すると、エンティティのうちのいずれかによって、結果をブロックチェーンに書き込むことができる。
【００２２】
したがって、本発明の実施形態は、サイバーフィジカルシステムへの攻撃の検出に関与する課題に対処するシステムを提供し、改善点は、根本的に技術的なものである。本システムは、サイバーフィジカルシステムへの攻撃を効率的に検出するといった技術的問題に対する技術的解決策（例えば、冗長ネットワーク上で動作する冗長センサを使用すること、及びブロックチェーンに基づいて分散エンティティの間でスマートコントラクトを使用すること）を提供する。
【００２３】
より具体的には、ブロックチェーンに基づくコンセンサスは、任意の単一利害関係者が、攻撃を検出することを可能にする。例えば、プラントオペレータが適切な時間内に攻撃に気付くことができなかった場合には、またはプラントオペレータが攻撃によってある意味において危殆化される場合には、任意の他の利害関係者が、同じ入力を使用して同じスマートコントラクトを実行することによって、攻撃を検出することができる。さらに、冗長センサは、制御ステーションと通信していない冗長ネットワーク上で動作している。これは、産業用制御システム（例えば、ＳＣＡＤＡシステム）の脆弱性に対する大部分の攻撃からシステムを保護することができる。最後に、冗長センサは、攻撃表面の直交ビューを提供し、よって、攻撃者が一次センサからのテレメトリを偽装し、制御ステーションを欺いて、システムが正常に機能していると信じさせてしまった場合であっても、攻撃を検出することができる。
【００２４】
例示的なネットワーク及び通信
図１は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための例示的な環境１００を例示する。環境１００は、冷却塔１２２と、煙道ガススタック１２４と、原子炉格納建造物１２６と、を含む、発電所１２０等の工業プラントを含むことができる。建造物１２６は、第１のネットワーク１０２上で動作する一次センサ１３０．１〜１３０．５によって、及び第２のネットワーク１０４上で動作する冗長センサ１４０．１〜１４０．５によって測定される物理的装置を含むことができる。ネットワーク１０２は、例えばプラントオペレータによってアクセスすることができ、一方で、ネットワーク１０４は、任意の外部エンティティ、または分散エンティティ（プラントオペレータを含む）のうちのいずれかによるアクセスを阻止するセキュリティ対策を含むことができる。
【００２５】
環境１００はまた、複数の分散エンティティ、すなわち、ユーザ１５２と関連付けられたデバイス１５４、ユーザ１６２と関連付けられたデバイス１６４、ユーザ１７２と関連付けられたデバイス１７４、及びユーザ１８２と関連付けられたデバイス１８４も含むことができる。これらのエンティティは、発電所１２０の動作に関心がある複数の利害関係者を含むことができる。例えば、ユーザ１５２は、プラントオペレータを表すことができ、ユーザ１６２は、現地の機関を表すことができ、ユーザ１７２は、連邦組織を表すことができ、ユーザ１８２は、民間監視機関を表すことができる。各エンティティは、一組の命令、例えばスマートコントラクトを実行する、プロセッサを有することができる。すなわち、デバイス１５４は、スマートコントラクト１５６を実行することができ、デバイス１６４は、スマートコントラクト１６６を実行することができ、デバイス１７４は、スマートコントラクト１７６を実行することができ、デバイス１８４は、スマートコントラクト１８６を実行することができる。複数の分散エンティティは、直接的に、または別の分散エンティティを介して、互いに通信することができる。
【００２６】
環境１００はまた、物理的入力及び出力との相互作用要素のサイバーフィジカルシステムも例示する。例えば、原子炉格納建造物１２６内の装置は、一次及び冗長センサを介して、分散エンティティ（例えば、複数の利害関係者）と相互作用する。サイバーフィジカルシステムは、センサによって測定される指示値の物理的入力を使用し、分散エンティティによって実行されるスマートコントラクトの出力を生じる。
【００２７】
動作中に、一次センサ１３０．１〜１３０．５は、指示値を取得し、ネットワーク１０２を介して、指示値１３２を第１の入力１３４としてデバイス１５４等の分散エンティティに送信することができる。同時またはほぼ同時に、冗長センサ１４０．１〜１４０．５は、冗長指示値（下でさらに詳細に論じられる）を取得し、ネットワーク１０４を介して、指示値１４２を第２の入力１４４としてデバイス１５４に送信することができる。第１及び第２の入力は、エンティティの各々に、またはエンティティの１つ以上に直接送信することができることに留意されたい。例えば、破線によって示されるように、第１の入力（「Ｆ／Ｉ」）１３５、１３６、及び１３７はまた、それぞれ、ネットワーク１０２を介して、デバイス１６４、１７４、及び１８４に送信することもでき、第２の入力（「Ｓ／Ｉ」）１４５、１４６、及び１４７はまた、それぞれ、ネットワーク１０４を介して、デバイス１６４、１７４、及び１８４に送信することもできる。したがって、第１及び第２の入力は、それぞれ、ネットワーク１０２及び１０４を介して、各エンティティに、またはエンティティの１つ以上に直接送信することができる。さらに、第１及び第２の入力は、第１の受信側エンティティまたは任意の他の分散エンティティを介して、エンティティに送信することができる。
【００２８】
各エンティティは、次いで、第１及び第２の入力を使用して、そのスマートコントラクトのコピーを実行することができる。実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定する任意のエンティティは、是正措置を行うことができる。例えば、デバイス１５４は、第１の入力１３４及び第２の入力１４４に基づいてそのスマートコントラクト１５６を実行し、実行されたスマートコントラクト１５６の結果が、予期される状態に一致しないと判定することができる。デバイス１５４（またはユーザ１５２）は、その後に、是正措置を行うことができる。これらの動作は、図４及び５に関して下で説明される。
【００２９】
さらに、任意のエンティティは、他のエンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。データ構造を維持してコンセンサスを判定することは、図３に関して下で説明され、結果をブロックチェーンに書き込むことは、図５に関して下で説明される。
【００３０】
要約すると、環境１００は、冗長ネットワーク上で動作する冗長センサを含み、プラントオペレータは、冗長ネットワークと通信していない。さらに、環境１００は、分散エンティティ（すなわち、複数の利害関係者）を含み、それぞれが、（別々のネットワーク上で動作している一次センサ及び冗長センサから）同じ入力を受信し、それぞれが、同じ受信した入力に対して同じスマートコントラクトを実行する。分散エンティティは、ブロックチェーン技術を使用して、コンセンサスに到達し、合意した結果をブロックチェーンに書き込むので、任意の単一エンティティは、予期しない状態を判定し、直ちに是正措置をとることができる。
【００３１】
対照的に、図２は、先行技術における例示的な環境２００を例示する。環境１００に類似して、環境２００は、一次センサ２３０．１〜２３０．５と、冗長センサ２４０．１〜２４０．５と、を有する、原子炉格納建造物１２６を含む。しかしながら、環境１００とは対照的に、これらのセンサは、同じネットワーク２０２上で動作しており、また、ネットワーク２０２を介して、プラントオペレータ２４２及び関連付けられたデバイス２４４と通信している。悪意のあるユーザ２５２は、デバイス２５４を介して、地点２６０においてデータを偽装することによる攻撃２７２、または地点２６２においてデータを偽装することによる攻撃２７０を開始することができ、地点２６０及び２６２は全て、プラントオペレータ２４２と通信している同じネットワークに属する。したがって、図２の先行技術の環境２００において、原子炉格納建造物１２６を含むサイバーフィジカルシステムは、図１の環境１００に関して上で説明した実施形態と異なり、攻撃に対して脆弱である。
【００３２】
例示的な分散エンティティ及びデータ構造
図３は、本発明の一実施形態に従う、例示的な分散エンティティ３００、ならびに例示的なデータ構造３２０及び３４０を提示する。例示的な分散エンティティ３００は、デバイス１８４と、関連するユーザ１８２と、を含むことができる。デバイス１８４は、スマートコントラクト１８６と、スマートコントラクトの状態及び実行されたスマートコントラクトの結果に対するコンセンサスの状態を保持するデータ構造と、を含むことができる。例えば、例示的なデータ構造３２０は、エントリ３２１、３２２、３２３、及び３２４を含むことができ、各エントリは、それぞれのエンティティを識別するエンティティ識別子（「Ｅｎｔｉｔｙ＿ＩＤ」）３０２、同じ入力（例えば、ｆ（ｉｎｐｕｔ１，ｉｎｐｕｔ２）＝「＜ｒｅｓｕｌｔ＿ｅｘｐｅｃｔｅｄ＞」または「＜ｒｅｓｕｌｔ＿ｕｎｅｘｐｅｃｔｅｄ＞」、ここで、「ｉｎｐｕｔ１」は、一次センサからの指示値に対応し、「ｉｎｐｕｔ２」は、冗長センサからの指示値に対応する）に対して同じスマートコントラクトを実行するそれぞれのエンティティの結果である、スマートコントラクトの結果３０４、それぞれのエンティティによって結果が得られた、または送信された時間を示すタイムスタンプ３０６、及びそれぞれのエンティティによって実行されるスマートコントラクトの結果が、予期される状態に一致するかどうかの状態指標３０８（例えば、状態が「予期される」ものであったか、「予期されない」ものであったかを示すフラグ）、を含む。いくつかの実施形態において、タイムスタンプ３０６は、有限の、または繰り返し持続時間、例えば０９：０６：００〜０９：０８：５９の３分間の時間ウインドウとすることができる。
【００３３】
エントリ３２１、３２２、及び３２４は、それぞれのエンティティについて、対応するタイムスタンプと共に、スマートコントラクトを実行することによって、予期される結果が得られたことを示すことができる。エントリ３２３は、データを保留していること、すなわち、デバイス１７４がまだスマートコントラクトを実行していないことを示すように、ブランクとすることができる。データ構造３２０のエントリ３２１、３２２、及び３２４のデータに基づいて、関連するエンティティのいずれかが、エンティティの多数決（この事例では、４つのうちの３つ）によって結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。「多数決」は、加重多数決、エンティティの数の１／２を超える数、またはコンセンサスを判定するために使用することができる任意の方法として定義することができる。
【００３４】
例示的なデータ構造３４０は、エントリ３４１、３４２、３４３、及び３４４を含むことができ、該エントリは、それぞれのエンティティについて、対応するタイムスタンプと共に、スマートコントラクトを実行することによって、予期されない結果が得られたことを示すことができる。エントリ３４２は、データを保留していること、すなわち、デバイス１６４がまだスマートコントラクトを実行していないことを示すように、ブランクとすることができる。データ構造３２０に関して上で説明したように、関連のあるエンティティのいずれかが、エンティティの多数決によって結果のコンセンサスを判定し、結果をブロックチェーンに書き込むことができる。さらに、任意のエンティティは、予期しない結果を得ると、他のエンティティのいずれかに対する通知を生成することを含む、是正措置を行うことができる。
【００３５】
「是正措置」としては、センサ、センサと関連付けられた物理的オブジェクト、またはセンサに影響を及ぼし得る任意の物理的オブジェクトもしくは条件の修復、置換、または修正が挙げられる。是正措置としてはまた、サイバーフィジカルシステムへの将来の攻撃を阻止することができるアクション、または予期される条件を満たさない、実行されたスマートコントラクトの結果を調査することと関連付けられたアクションも含むことができる。各エンティティは、異なるパラメータに依存することができる固有の是正措置を行うことができる。
【００３６】
例えば、環境監視者は、特定のガスゲージに関する一次センサと冗長センサとの間の不一致が、特定の期間内で特定の回数を超えて（例えば、１２時間の期間に１０回を超えて）所定の範囲から外れた場合にプラントに通知する（例えば、警告メッセージ、または、報告を送信する）、といった是正措置を行うことができる。対照的に、プラントオペレータは、環境監視者に関するパラメータと異なる、またはそれよりもより短い間隔で（例えば、２時間の期間に３回を超えて）類似する不一致を検出した場合に、同じ一次及び冗長センサ（ならびに対応する物理的及びネットワーク要素）を調査するといった是正措置を行うことができる。
【００３７】
サイバーフィジカルシステムにおける攻撃の検出を容易にするための方法
図４は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャート４００である。動作中に、システムは、複数のエンティティのうちの第１のエンティティによって、第１のネットワークを介して、サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信し、第１のセンサは、第１のネットワーク上で動作している（動作４０２）。システムは、第１のエンティティによって、第２のネットワークを介して、サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信し、第２の一組は、第１のセンサのための一組の冗長センサであり、第２の一組のセンサは、第２のネットワーク上で動作しており、第２のネットワークは、任意の外部エンティティ、または複数のエンティティのうちのいずれかによってアクセスを阻止するセキュリティ対策を含む（動作４０４）。第２のネットワークは、第１のネットワークのための冗長ネットワークである。
【００３８】
システムは、第１のエンティティによって、第１の指示値及び第２の指示値に基づいて一組の命令（例えば、スマートコントラクト）を実行する（動作４０６）。システムは、他のエンティティによって、第１の指示値及び第２の指示値を受信する（動作４０８）。システムは、他のエンティティによって、第１の指示値及び第２の指示値に基づいてスマートコントラクトを実行し（動作４１０）、動作は、図５のラベルＡにおいて説明されるように続く。
【００３９】
図５は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にするための、分散エンティティによる方法を例示するフローチャート５００である。動作中に、システムは、エンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定する（判定５０２）。システムがコンセンサスを判定していない場合、動作は、図４の動作４０８で説明されるように続く。システムがコンセンサスを判定している場合、システムは、結果をブロックチェーンに書き込む（動作５０４）。結果は、図３の例示的なデータ構造３２０及び３４０において（例えば、スマートコントラクト結果フィールド３０４において）、上で説明したように示すことができる。分散エンティティのうちのいずれかが、コンセンサスを判定し、結果をブロックチェーンに書き込むことができることに留意されたい。
【００４０】
システムはまた、実行されたスマートコントラクトの結果が、予期される状態に一致するかどうかを判定することもできる（判定５１２）。予期される状態は、例えば、所定の間隔の範囲内で第１の指示値及び第２の指示値を受信すること、第１の指示値及び第２の指示値が等しいかどうか、第１の指示値及び第２の指示値が所定の範囲内にあるかどうか、第１の指示値及び第２の指示値に基づいて行われる関数が所定の範囲内の結果を生じるかどうか、第１の指示値及び第２の指示値が同じ物理量を示すかどうか、第１の指示値及び第２の指示値が異なる物理量を示すかどうか、ならびに第１のセンサ及び第２のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、に基づくことができる。図３に関して上で説明したように、予期される条件が満たされるかどうかの指標は、状態指標フィールド３０８に含めることができる。
【００４１】
結果が、予期される状態に一致する場合（判定５１２）、動作は、元に戻る。結果が、予期される状態に一致しない場合（判定５１２）、システムは、予期しない状態を判定する第１のエンティティまたは任意のエンティティによって、予期しない状態の通知を随意に生成することができる（動作５１４）。予期しない状態であると判定することは、実行されたスマートコントラクトの結果が、予期される状態に一致しないと判定することである。システムは、その後に、任意のエンティティによって、予期しない状態に基づいて是正措置を行うことができる（動作５１６）。
【００４２】
例示的なコンピュータ及び通信システム
図６は、本発明の一実施形態に従う、サイバーフィジカルシステムにおける攻撃の検出を容易にする例示的な分散コンピュータ及び通信システム６０２を例示する。コンピュータシステム６０２は、プロセッサ６０４と、メモリ６０６と、記憶デバイス６０８と、を含む。メモリ６０６は、管理されたメモリとしての役割を果たす揮発性メモリ（例えば、ＲＡＭ）を含むことができ、また、１つ以上のメモリプールを記憶するために使用することができる。さらに、コンピュータシステム６０２は、ディスプレイデバイス６１０、キーボード６１２、及びポインティングデバイス６１４に連結することができる。記憶デバイス６０８は、オペレーティングシステム６１６、コンテンツ処理システム６１８、及びデータ６３２を記憶することができる。
【００４３】
コンテンツ処理システム６１８は、コンピュータシステム６０２によって実行されたときに、コンピュータシステム６０２に、本開示において説明される方法及び／またはプロセスを行わせることができる命令を含むことができる。具体的には、コンテンツ処理システム６１８は、コンピュータネットワークを通じて他のネットワークノードに対してデータパケットを送信及び／または受信するための命令を含むことができる（通信モジュール６２０）。データパケットは、サイバーフィジカルシステムのセンサ、アクチュエータ、またはコントローラモジュールからのデータ、暗号化されたデータ、及び指示値を示すメッセージを含むことができる。
【００４４】
コンテンツ処理システム６１８は、複数のエンティティのうちの第１のエンティティによって、第１のネットワークを介して、サイバーフィジカルシステムの第１の一組のセンサから第１の指示値を受信するための命令を含むことができる（通信モジュール６２０）。コンテンツ処理システム６１８は、第１のエンティティによって、第２のネットワークを介して、サイバーフィジカルシステムの第２の一組のセンサから第２の指示値を受信するための命令を含むことができる（通信モジュール６２０）。コンテンツ処理システム６１８は、第１の指示値及び第２の指示値に基づいて一組の命令を実行するための命令を含むことができる（スマートコントラクト実行モジュール６２２）。コンテンツ処理システム６１８は、実行された命令の結果が、予期される状態に一致しないと判定するための命令を含むことができる（状態判定モジュール６２４）。コンテンツ処理システム６１８は、結果に基づいて是正措置を行うための命令を含むことができる（アクション実行モジュール６３０）。
【００４５】
コンテンツ処理
システム６１８は、複数のエンティティの多数決によって、実行されたスマートコントラクトの結果のコンセンサスを判定することに応答して（コンセンサス判定モジュール６２６）、結果をブロックチェーンに書き込むための命令を含むことができる（ブロックチェーン管理モジュール６２８）。コンテンツ処理システム６１８は、第１の指示値及び第２の指示値に基づいて関数を計算するための命令を含むことができる（スマートコントラクト実行モジュール６２２）。
【００４６】
データ６３２は、入力として必要とされる、または本開示において説明される方法及び／またはプロセスによって出力として生成される任意のデータを含むことができる。具体的には、データ６３２は、少なくとも、入力、指示値、フィジカル測定値またはフィジカル入力を示す指示値、出力、スマートコントラクト、一組の命令、実行されたスマートコントラクトの結果、一組の命令を実行した結果、ネットワークの指標、センサのための識別子または指標、ブロックチェーン、コンセンサスの指標、通知、予期される状態、是正措置の指標、関数、データ構造、データ構造におけるエントリ、それぞれのエンティティの識別子、それぞれのエンティティによって実行された一組の命令またはスマートコントラクトの結果、一組の命令またはスマートコントラクトを実行するそれぞれのエンティティと関連付けられたタイムスタンプ、実行された命令またはスマートコントラクトの結果が予期される状態に一致するかどうかの指標、所定の時間間隔、ネットワークのセキュリティ関連のパラメータ、所定の範囲、物理量、及び一組のセンサと関連付けられたデバイス設定、ファームウェア、またはソフトウェアの変更、を記憶することができる。
【００４７】
この「発明を実施するための形態」において説明されるデータ構造及びコードは、典型的に、コンピュータ可読記憶媒体に記憶され、該コンピュータ可読記憶媒体は、コンピュータシステムによって使用するためのコード及び／またはデータを記憶することができる、任意のデバイスまたは媒体とすることができる。コンピュータ可読記憶媒体としては、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、ＣＤ（コンパクトディスク）、ＤＶＤ（デジタル多用途ディスクまたはデジタルビデオディスク）等の磁気及び光記憶デバイス、または現在知られている、または今後開発されるコンピュータ可読媒体を記憶することが可能な他の媒体が挙げられるが、これらに限定されない。
【００４８】
「発明を実施するための形態」の節において説明される方法及びプロセスは、上で説明したようなコンピュータ可読記憶媒体に記憶することができるコード及び／またはデータとして具現化することができる。コンピュータシステムが、コンピュータ可読記憶媒体に記憶されたコード及び／またはデータを読み取り、実行したときに、コンピュータシステムは、データ構造及びコードとして具体化され、かつコンピュータ可読記憶媒体内に記憶された方法及びプロセスを実行する。
【００４９】
さらに、上で説明した方法及びプロセスは、ハードウェアモジュールまたは装置に含めることができる。ハードウェアモジュールまたは装置としては、特定用途向け集積回路（ＡＳＩＣ）チップ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定の時間に特定のソフトウェアモジュールまたはコードの一部を実行する専用または共有プロセッサ、及び現在知られている、または今後開発される他のプログラマブル論理デバイスを挙げることができるが、これらに限定されない。ハードウェアモジュールまたは装置を起動させると、それらの中に含まれる方法及びプロセスを実行する。
【００５０】
本発明の実施形態の上述の説明は、例示及び説明のみを目的として提示されている。本記述は、網羅的であること、または本発明を開示された形態に限定することを意図したものではない。したがって、多くの修正及び変形が、当業者に明白になるであろう。加えて、上述の開示は、本発明を限定することを意図したものではない。本発明の範囲は、添付の特許請求の範囲によって定義される。
【図１】
2019057276.tif 000003
【図２】
2019057276.tif 000004
【図３】
2019057276.tif 000005
【図４】
2019057276.tif 000006
【図５】
2019057276.tif 000007
【図６】
2019057276.tif 000008